正则表达式匹配的评论

问题描述:

我有两种类型的注释块的正则表达式匹配的评论

<!-- asdfasd //--> 

<!--asdfasd--> 

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

我只需要第二/第三场比赛,我有这个模式,我已经试过很多的组合,但, 没有运气。还评论包含所有的数字/​​字母/特殊字符

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

这个怎么样:* *。这是否匹配? – FailedDev 2012-08-15 21:00:46

+0

不,它不工作 – 2012-08-15 21:04:48

+1

'[\ s \ S] *'匹配**你显然不想要的任何**字符。 – 2012-08-15 21:06:48

对于确切的字符串作为上面贴,这个工程:

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

但是,如果//可能在任何地方注释,它将无法工作。

我需要一些更多的信息,以便更准确地解决

欢呼 tannerli

只需使用一个功能:

这是做的最正确的方式,我相信。

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

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

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

说明:是否有'//'或不是我们先捕获它。

然后我们检查第二场比赛的长度,我们会匹配任何数量的'/'。

如果有两个或更多的斜杠 - 它会提醒'错误';

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

+0

它不能与多行工作 – 2012-08-15 21:33:31

+0

好的你只需要为正则表达式添加's'。 - 编辑答案 – Anonymous 2012-08-15 21:39:47

这应做到:

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

尝试这种模式:

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

应该为<!--asdfasd--><!-- asdfasd -->

编辑工作

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

那么添加的所有预期的特殊字符没有忘记转义:

[a-zA-Z0-9"!\?_-]+ 
+0

Nomik,不与下面的评论是否已断行的工作... – 2012-08-15 21:21:26

+0

刚刚编辑... – 2012-08-15 21:26:20

+0

仍存在一些问题,不能正常工作,如果有注释的HTML标签 magic - > – 2012-08-15 21:51:44

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

,这是为我工作

尝试以下模式:

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

它为我工作。