Как исключить случаи из Regex? - PullRequest
0 голосов
/ 08 февраля 2019

Допустим, у меня есть следующий текст:

Lorem Ipsum
Lorem Ipsum Dolor
Lorem Dolor Ipsum Sit Amet

Я хочу получить все Ipsum's, но не начинается с Dolor

Каким должно быть правильное регулярное выражениесоответствовать этому условию?

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Я могу предложить следующий шаблон регулярного выражения, который будет соответствовать Ipsum, которому непосредственно не предшествует Dolor:

(?:^\s*|\b(?!Dolor)\S+\s+)Ipsum

Это также может соответствовать предыдущему слову (не Dolor), еслиIspum не будь самым первым словом в строке.Надеюсь, этого будет достаточно для использования в поиске IntelliJ.

Я рекомендую не использовать здесь отрицательный просмотр, потому что для покрытия всех случаев вам может понадобиться просмотр с переменной шириной, который может не поддерживаться и который, вероятно,будет неэффективным.

Демо

0 голосов
/ 08 февраля 2019

Отрицательный взгляд позади - это то, что вы ищете:

(?<!Dolor )Ipsum

Демо

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