Вернуться к уроку

Найти HTML-комментарии

Найдите все HTML-комментарии в тексте:

var re = ..ваш регэксп..

var str = '.. <!-- Мой -- комментарий \n тест --> ..  <!----> .. ';

alert( str.match(re) ); // '<!-- Мой -- комментарий \n тест -->', '<!---->'

Нужно найти начало комментария <!--, затем всё до конца -->.

С первого взгляда кажется, что это сделает регулярное выражение <!--.*?--> – квантификатор сделан ленивым, чтобы остановился, достигнув -->.

Однако, точка в JavaScript – любой символ, кроме конца строки. Поэтому такой регэксп не найдёт многострочный комментарий.

Всё получится, если вместо точки использовать полностю «всеядный» [\s\S].

Итого:

var re = /<!--[\s\S]*?-->/g;

var str = '.. <!-- Мой -- комментарий \n тест --> ..  <!----> .. ';

alert( str.match(re) ); // '<!-- Мой -- комментарий \n тест -->', '<!---->'