en.javascript.info/5-regular-expressions/08-regexp-greedy-and-lazy/3-find-html-comments/solution.md
Ilya Kantor 455d300d8d renames
2017-05-25 11:56:32 +03:00

571 B

We need to find the beginning of the comment match:<!--, then everything till the end of match:-->.

The first idea could be pattern:<!--.*?--> -- the lazy quantifier makes the dot stop right before match:-->.

But a dot in Javascript means "any symbol except the newline". So multiline comments won't be found.

We can use pattern:[\s\S] instead of the dot to match "anything":

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

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

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