регулярное выражение для сопоставления одной строки и отрицания другой - PullRequest
0 голосов
/ 29 августа 2018

Мне нужно регулярное выражение для соответствия Test< строки только с Test<OKAY>, и оно не должно совпадать с Test<?>

Test<?>  // shouldn't match
Test<OKAY> // should match

Я пытался Test<[^?], но он соответствует Test<O вместо Test< с Test<OKAY>

Как мне это исправить?

Ответы [ 3 ]

0 голосов
/ 29 августа 2018

После Test< вам нужен положительный прогноз для символов без знака вопроса, после которых > указывает конец скобок:

Test<(?=[^?]+>)

https://regex101.com/r/gxpq3E/1

0 голосов
/ 29 августа 2018

Используйте взгляд в будущее:

Test<(?=OKAY>)

См. демоверсия .

0 голосов
/ 29 августа 2018

Тест <(?! \?) Работает </p>

Здесь используется негативный взгляд.

?! = не сопровождается \?

...