Sanu0074
@Sanu0074

Почему RegExp не учитывает переносы строк?

Я написал регулярку new RegExp('(<%--)(.*)(--%>)','gim'), которая должна находить все что заключено в последовательность символов <%-- --%>. В пределах одной строки это работает нормально, но если между последовательностями символов <%-- --%> будет перенос строки - то все сломается. Ловить перенос строки я решил такой регуляркой: (<%--)([\s\S]*)(--%>), но она не работает правильно.

Подскажите, как правильно написать регулярку которая будет учитывать переносы строк?
  • Вопрос задан
  • 4343 просмотра
Решения вопроса 1
Sanu0074
@Sanu0074 Автор вопроса
(<%--)([\s\S]*?)(--%>)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Десятичная точка обозначает любой символ, кроме перевода строки
javascript.ru/regexp

Соответственно, регулярка должна быть такая: /(<%--)((?:.|\n)*)(--%>)/gmi.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы