1.1 KiB
1.1 KiB
Нужно найти начало комментария <!--
, затем всё до конца -->
.
С первого взгляда кажется, что это сделает регулярное выражение <!--.*?-->
-- квантификатор сделан ленивым, чтобы остановился, достигнув -->
.
Однако, точка в JavaScript -- любой символ, кроме конца строки. Поэтому такой регэксп не найдёт многострочный комментарий.
Всё получится, если вместо точки использовать полностю "всеядный" [\s\S]
.
Итого:
//+ run
var re = /<!--[\s\S]*?-->/g;
var str = '.. <!-- Мой -- комментарий \n тест --> .. <!----> .. ';
alert( str.match(re) ); // '<!-- Мой -- комментарий \n тест -->', '<!---->'