Исключить шаблон регулярного выражения - PullRequest
0 голосов
/ 09 августа 2011
/<%(?:==|=|#)?[^>]*%>/;

Это регулярное выражение не совсем подходит для моих нужд.Часть [^>] должна быть no pattern of '%>'

Доступны следующие регулярные выражения: http://docs.kde.org/stable/en/kdebase-runtime/kate/regular-expressions.html

(для жадных квантификаторов ? нет)

1 Ответ

4 голосов
/ 09 августа 2011

Документ, на который вы ссылаетесь, говорит, что lookaheads поддерживается, поэтому это должно работать:

/<%(?:==|=|#)?(?:(?!%>).)*%>/

(?:(?!%>).)* позволяет точке совпадать с одним символом за раз, после . Предварительный просмотр гарантирует, что символ не является началом последовательности %>. Это действительно то, что бы не жадная точка-звезда делала в .*?%>, если бы поддерживали некожадные квантификаторы.

Кстати, (?:==|=|#)? на самом деле ничего не делает для вас. Если эта часть требуется, вы должны удалить ?. Если нет, вы можете также удалить все это; это просто занимает место.

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