如何用正则删除html中的多行注释?

需求

删除HTML中的多行注释

目前进度

clipboard.png

可以匹配单行注释,但由于正则中的.并不匹配行结束符,所以无法匹配多行注释。。。

求解匹配多行注释

自己又写了一个

(<!--)([^(-->)])*(-->)

但没有匹配
诡异的是

(<!--)[^(--)]*(-->)

可以正确匹配,

clipboard.png
但显然不符合要求。
求解为什么(-->)无法匹配?

阅读 8.8k
3 个回答

加个参数 m
不支持的话就:

/<!--[\w\W]*?-->/

如果不支持非贪婪模式就是

/<!--[^(-->)]*-->/

试试这个<!--((.*)|(\n))*?-->

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题