0

我有两种类型的评论块

<!-- asdfasd //-->

<!--asdfasd-->

    <!--
<span onclick="window.open('http://www.abc.com?xyz=asfasdfasd')">magic</span>
-->

我只需要匹配第二个/第三个并且我有这个模式,我尝试了很多组合,但是没有运气。注释还包含所有数字/字母/特殊字符

<!--[\s\S]*?-->
4

6 回答 6

0
<!--(\\?|.|\s).*[^/^/]-->

这对我有用

于 2012-08-15T22:43:05.540 回答
0

尝试以下模式:

<!--[\s\S]+?-->

它为我工作。

于 2014-02-26T05:41:48.060 回答
0

对于上面发布的确切字符串,这有效:

<!--[^-/]+-->

但是,如果 // 可能在注释中的任何位置,它将不起作用。

我需要更多信息以获得更准确的解决方案

干杯坦纳利

于 2012-08-15T21:08:39.443 回答
0

只需使用一个功能:

这是我认为最正确的做法。

var str='<!--asdfasd-->';

var matches= str.match(/<!--.*?(\/*)-->/s)

if (matches&&!matches[1].length>1) alert('You got me :)')

解释:不管它有没有'//'我们先捕获它。

然后我们检查第二个匹配的长度,我们将匹配任意数量的 '/' 。

如果有两个或更多的斜线 - 它会警告“假”;

http://jsfiddle.net/WNM7G/2/

于 2012-08-15T21:11:31.340 回答
0

这应该这样做:

<!--[^\/\s]+-->
于 2012-08-15T21:12:17.427 回答
0

试试这个模式:

<!-- *[a-z]+ *-->

它应该适用于<!--asdfasd--><!-- asdfasd -->

编辑

评论还包含所有数字/字母/特殊字符???

好吧,添加所有预期的特殊字符而不要忘记转义:

[a-zA-Z0-9"!\?_-]+
于 2012-08-15T21:13:01.760 回答