Задать вопрос
Sanu0074
@Sanu0074

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

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

Подскажите, как правильно написать регулярку которая будет учитывать переносы строк?
  • Вопрос задан
  • 6695 просмотров
Подписаться 2 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Десятичная точка обозначает любой символ, кроме перевода строки
javascript.ru/regexp

Соответственно, регулярка должна быть такая: /(<%--)((?:.|\n)*)(--%>)/gmi.
Ответ написан
Sanu0074
@Sanu0074 Автор вопроса
(<%--)([\s\S]*?)(--%>)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы