1

我只想使用正则表达式匹配有效的 HTML 注释。我在stackoverflow上看到了很多问题,但没有人回答这个问题。 允许匹配的模式

<!-- some comments 1 -->
<!-- 1.91 -->
<!--
//-->
<!-- -->

但不是这些仅限 IE 的评论

<!--[if IE]> <![endif]-->
<!--[if !IE]><!-->  <!--<![endif]-->
<!--[if IE 6]> <![endif]-->

我认为如果在<!--返回 false 后发现它作为第一个字符,可以通过“[”的帮助来完成。您可以通过任何方式提供自己的解决方案。对于 php 仅使用 preg_replace

4

2 回答 2

1

我真的不建议你使用正则表达式,但如果你坚持,这里有一个基本的正则表达式:http ://regex101.com/r/wI2kF7

带有锚标签:http ://regex101.com/r/tC9xH4

祝你好运。

于 2012-08-20T07:13:16.497 回答
1

为什么要使用正则表达式?使用如下所示的DOMXPath 查询

'//comment()[not(starts-with(., "[if") or . = "<![endif]")]'

有关工作示例,请参阅http://codepad.viper-7.com/Yzs5zq 。

于 2012-08-20T07:20:29.987 回答