Regex-не селектор - PullRequest
       1

Regex-не селектор

2 голосов
/ 25 января 2011

Допустим, все это внизу - строка, и я хотел бы сопоставить все те слова в <и>, которые заканчиваются словами собака или птица. Это также можно сделать с помощью регулярных выражений, например:

<. + (Собака | птица)>

Но я пытаюсь выбрать, используя НЕ селектор. Только если это НЕ заканчивается на cat, это должно быть выбрано. Можно ли на самом деле выбрать что-то, что не содержит слово в регулярном выражении?

<This is dog>
<This is also a dog>
<This is cat>
<Dog and cat>
<Where is dog>
<I am a bird>
<I am another bird>

Спасибо

Vizualni.

Ответы [ 2 ]

2 голосов
/ 25 января 2011

Если мы говорим о разновидности регулярного выражения, которая его поддерживает, вы можете использовать негативный прогноз . Это:

<(?![^>]*(?:dog|cat)>).+>

будет соответствовать строкам в угловых скобках, которые не заканчиваются dog или cat.

0 голосов
/ 25 января 2011

В дополнение к отрицательному взгляду вы также можете использовать отрицательный взгляд назад (соответствует «>», которому не предшествует собака или кошка):

<.+(?<!dog|cat)>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...