2011-03-11 69 views
1

我需要从HTML文档中删除几千条评论。这些评论都是以这种形式(多线):删除HTML注释的正则表达式是什么?

<p>some HTML</p> 
<!-- 
    FOO 
    BAR 
    BLAH 
--> 
<p>more HTML</p> 

我可以在查找中使用的什么正则表达式/替换返回这个结果:

<p>some HTML</p> 
<p>more HTML</p> 
+1

重复可能http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – kjy112 2011-03-11 15:27:49

+1

@kjy:不,它不是。 – SLaks 2011-03-11 15:30:18

回答

1

如果你有Dreamweaver中,“清理HTML/XHTML”命令有一个选项来删除非Dreamweaver的意见。这应该很容易处理这样的问题。

+0

我知道我问过一个正则表达式,但这实际上是最快和最简单的解决方案。 – user2393462435 2011-03-14 01:05:55

1

如果你只是想删除这个特殊格式的注释(并将所有其他评论完好):

replace(/^<\!--.*?-->$/mg, "") 

的*?是非积极的比赛。 “m”标志使其成为多行(所以^和$将分别与行的开始/结束匹配)。

如果要删除所有评论

replace(/<\!--.*?-->/g, "") 
+0

你不需要转义'-'(除了[]') – SLaks 2011-03-11 15:30:40

+0

谢谢。 :-)有时我会忘记哪些角色需要转义,所以只需将它们全部转义出来......编辑答案。 – 2011-03-11 15:31:32