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

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

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

Подскажите, как правильно написать регулярку которая будет учитывать переносы строк?
  • Вопрос задан
  • 6668 просмотров
Подписаться 2 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Десятичная точка обозначает любой символ, кроме перевода строки
javascript.ru/regexp

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

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

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