Regex 如果其中存在某个子字符串,如何防止正则表达式匹配?

Regex 如果其中存在某个子字符串,如何防止正则表达式匹配?,regex,escaping,substring,Regex,Escaping,Substring,HTML注释可能使用内联JavaScript作为不支持JS代码的旧浏览器的特殊块。这些块看起来像这样: <!-- some js code //--> 我想区分“真实”html注释和JS代码中的此类注释。我写了这个正则表达式: /<!--[^//]*?-->/g /g 因此,我想排除内部带有双斜杠的匹配项,但正则表达式将/视为/和/的字符集,而不是整个双斜杠/。我能做什么?字符类,正如您所指出的,只匹配一个字符,所以您不能在这里使用它们。但你可以利用: /g

HTML注释可能使用内联JavaScript作为不支持JS代码的旧浏览器的特殊块。这些块看起来像这样:

<!--
some js code
//-->

我想区分“真实”html注释和JS代码中的此类注释。我写了这个正则表达式:

/<!--[^//]*?-->/g
/g

因此,我想排除内部带有双斜杠的匹配项,但正则表达式将
/
视为
/
/
的字符集,而不是整个双斜杠
/
。我能做什么?

字符类,正如您所指出的,只匹配一个字符,所以您不能在这里使用它们。但你可以利用:

/g
(假设这是JavaScript)

说明:

#匹配-->
/<!--(?:(?!//)[\s\S])*-->/g