正则表达式查找并替换html注释中的字符

时间:2019-10-26 16:30:00

标签: regex replace

请帮助解决以下问题: 我想找到字符(以我的情况为--)并替换为其他字符(以我的情况为:zz或**),但只能在html注释(<!-- -->)内。 预先谢谢你。

1 个答案:

答案 0 :(得分:4)

如果正则表达式支持\G锚,则可以这样做

使用(<!--(?=[\S\s]*?-->)|(?!^)\G)((?:(?!--)[\S\s])*?)(--)(?!>)的全局查找

替换为$1$2zz$1$2**


如果不支持\ G定位符,则可以使用
打回来。

在替换调用中匹配评论<!--([\S\s]*?)-->
然后在回调中用--zz替换组1中的任何**,将新注释(可能保持不变)返回到原始替换。
return "<!--" + newcontent + "-->";

一样构造它