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

Поиск HTML-комментариев

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

let reg = /ваше регулярное выражение/g;

let str = `... <!-- My -- comment
 test --> ..  <!----> ..
`;

alert( str.match(reg) ); // '<!-- My -- comment \n test -->', '<!---->'

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

Первой идеей может быть <!--.*?--> – ленивый квантификатор остановит точку прямо перед -->.

Но точка в JavaScript означает «любой символ, кроме новой строки». Так что многострочные комментарии не будут найдены.

Мы можем использовать [\s\S] вместо точки, чтобы найти «всё»:

let reg = /<!--[\s\S]*?-->/g;

let str = `... <!-- My -- comment
 test --> ..  <!----> ..
`;

alert( str.match(reg) ); // '<!-- My -- comment \n test -->', '<!---->'