我需要从HTML文档中删除几千条评论。这些评论都是以这种形式(多线):删除HTML注释的正则表达式是什么?
<p>some HTML</p>
<!--
FOO
BAR
BLAH
-->
<p>more HTML</p>
我可以在查找中使用的什么正则表达式/替换返回这个结果:
<p>some HTML</p>
<p>more HTML</p>
我需要从HTML文档中删除几千条评论。这些评论都是以这种形式(多线):删除HTML注释的正则表达式是什么?
<p>some HTML</p>
<!--
FOO
BAR
BLAH
-->
<p>more HTML</p>
我可以在查找中使用的什么正则表达式/替换返回这个结果:
<p>some HTML</p>
<p>more HTML</p>
如果你有Dreamweaver中,“清理HTML/XHTML”命令有一个选项来删除非Dreamweaver的意见。这应该很容易处理这样的问题。
我知道我问过一个正则表达式,但这实际上是最快和最简单的解决方案。 – user2393462435 2011-03-14 01:05:55
你不应该使用正则表达式这一点。改为使用HTML敏捷包。
HTML Agility Pack
如果你只是想删除这个特殊格式的注释(并将所有其他评论完好):
replace(/^<\!--.*?-->$/mg, "")
的*?是非积极的比赛。 “m”标志使其成为多行(所以^和$将分别与行的开始/结束匹配)。
如果要删除所有评论:
replace(/<\!--.*?-->/g, "")
你不需要转义'-'(除了[]') – SLaks 2011-03-11 15:30:40
谢谢。 :-)有时我会忘记哪些角色需要转义,所以只需将它们全部转义出来......编辑答案。 – 2011-03-11 15:31:32
重复可能http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – kjy112 2011-03-11 15:27:49
@kjy:不,它不是。 – SLaks 2011-03-11 15:30:18