2017-02-21 15 views
1

Как найти < теги не следуют ?regex, negative lookahead (?!?) Find <теги не следует?

$htmlStr = " ba <div>b <? </div>n"; 
$regex1 = '#<#'; // finds 3 '<' 
$regex2 = '#<(?!?)#'; // does not find anyhting, although should find two '<' not followed by '?' 
+0

Вы должны получить 'ничего repeat' ошибку при попытке для запуска этого ... –

+0

Да, ошибка, как вы сказали. ALso '' # <[^?] # ''Не работает – olga

ответ

1

? специальный символ в шаблоне регулярного выражения и должны быть экранированы:

$htmlStr = " ba <div>b <? </div>n"; 
$regex2 = '#<(?!\?)#'; // <-- will find 2 matches 
+1

Спасибо, работает – olga