#javascript #regex
#javascript #регулярное выражение
Вопрос:
Хотите исключить конкретную строку «//2» из элемента выбора. <%— //1 —%>
<%-- //1
//1 --%>
<%-- //1
//1
//1 --%>
//2
<%-- //1 --%>
<%-- //1 //1 --%>
//3
С помощью JavaScript, вот регулярное выражение: (?<=<%-{2}[wW]*?)//(?=[wW]*?-{2}%>)
Я нашел много способов, но ничего не вышло. Может ли у кого-нибудь быть хорошая идея исправить это?
Комментарии:
1. Здесь, чтобы проверить регулярное выражение: regex101.com/r/qD5Yzc/5
Ответ №1:
Вы могли бы сопоставить открытие <%--
, а затем сопоставлять до тех пор, пока не столкнетесь //
без сопоставления либо <%--
, либо --%>
Затем сделайте то же самое после сопоставления //
снова.
В Javascript вместо использования [wW]
вы также можете использовать [^]
.
(?<=<%--(?:(?!<%--|--%>)[^])*)//(?=(?:(?!<%--|--%>)[^])*--%>)
Комментарии:
1. Извините, что прерываю. Как выглядит регулярное выражение Python?
2. @Arno Если вы хотите использовать квантификатор
*
в позитивном взгляде назад, вы могли бы использовать модуль PyPI для регулярных выражений вместоre
. Смотрите этот пример кода