Регулярное выражение для исключения совпадения - PullRequest
0 голосов
/ 13 июля 2020

Я знаю, что об этом спрашивали раньше, но я просто не мог заставить свою работать. Используя этот пример, я пытаюсь получить переменную шаблона, но не в том случае, если она используется в каком-то теге.

{{ callMe() }}

<img src="{{ callMe() }}" />

Должен соответствовать первому, {{ callMe() }}, но не второму. Я возился с негативным прогнозом, но не уверен, понимаю ли я это. Вот мое регулярное выражение. Может ли кто-нибудь взглянуть. Спасибо.

(?!<.+\/?>)(({{.*([\w\.]+)\(.*\).*}}))

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

1 Ответ

0 голосов
/ 13 июля 2020
(?<!<.*){{.*([\w\.]+)\(.*\).*}}(?!.*>)

Необходимо проверить, нет ли < перед и > после

(?<!<[^>]*){{.*([\w\.]+)\(.*\).*}}(?![^<]*>)

также будет проверять <p>{{ callMe() }}</p>

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