регулярное выражение - исключить строку со словом (php) - PullRequest
1 голос
/ 16 апреля 2020

Помогите пожалуйста, как можно исключить наличие строки, если в ней присутствует определенное слово.

Пример:

any text here my text any text word wrong any text
any text here my text any text true any text
any text here my text any text wrong any text

Это регулярное выражение отмечает все строки (https://regex101.com/r/rrgEp6/1):

here([a-z, ]{0,70})((?:(?! word))) (wrong|true) 

Требуется исключить в этом случае слово - «слово»:

any text here my text any text true any text
any text here my text any text wrong any text

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

Вы можете использовать

here((?:(?!\bword\b)[a-z ,]){0,70}) (wrong|true)

См. Демоверсию regex

Подробности

  • here - строка
  • ((?:(?!\bword\b)[a-z ,]){0,70}) - Группа 1: строчная буква, пробел или запятая, от 0 до 70 вхождений, которая не начинается с word как целая последовательность символов слова
  • - пробел
  • (wrong|true) - группа 2: wrong или true последовательности символов.
0 голосов
/ 16 апреля 2020

Вы можете использовать

^(?!.*\bword\b).+

См. демо на regex101.com .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...