回到课程
本资料仅提供以下语言版本:English。请 帮助我们 将其翻译为 简体中文 版本。

查找 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 -->', '<!---->'