Проблема со специальными символами в регулярном выражении с использованием preg_replace - PullRequest
0 голосов
/ 08 ноября 2018

У меня проблема с регулярным выражением, которое пытается найти, находится ли искомая фраза в теге <hx> или нет

это пример: https://regex101.com/r/xAlJJc/3

как вы видите, в примере ровно 1 совпадение, это нормально

проблема в том, что когда вы добавляете точку, запятую или другой символ к этому <h1>test string</h1> регулярное выражение сходит с ума и показывает 2 совпадения

Кто-нибудь знает, как убедиться, что это: https://regex101.com/r/xAlJJc/4

не найдет совпадений для "тестовой строки"?

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

В моем случае решением было использовать это регулярное выражение:

(Test)(?![^>]*?[^<]*?<\/a>)(?![^>]*?[^<]*?<\/button>)(?![^>]*?[^<]*?<\/h[1-6]>)

спасибо за ваши усилия, ребята:)

0 голосов
/ 08 ноября 2018

Если я правильно вас понимаю, вы можете попробовать:

^<\w*>(test string)<\/\w*>

...