首页 > 解决方案 > 正则表达式在 html 注释中查找和替换字符

问题描述

请帮助解决以下问题:我想查找字符(在我的情况下:--)并替换为其他字符(在我的情况下:zz 或 **),但仅限于 html 注释(<!-- -->)中。先感谢您。

标签: regexreplace

解决方案


如果正则表达式支持\G锚,它是这样完成的

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

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


如果不支持 \G 锚点,可以通过
回调来完成。

<!--([\S\s]*?)-->在替换调用中匹配注释,
然后在回调中用or替换--组 1 中的任何内容,将新注释(可能未更改)返回给原始替换。 像这样构建它zz**
return "<!--" + newcontent + "-->";


推荐阅读