レッスンに戻る

HTML のコメントを見つける

テキスト中のすべての HTML コメントを探してください:

let reg = /your regexp/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 -->', '<!---->'