2012-08-15 170 views
0

我有兩種類型的註釋塊的正則表達式匹配的評論

<!-- asdfasd //--> 

<!--asdfasd--> 

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

我只需要第二/第三場比賽,我有這個模式,我已經試過很多的組合,但, 沒有運氣。還評論包含所有的數字/​​字母/特殊字符

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

這個怎麼樣:* <! - // comment - > *。這是否匹配? – FailedDev 2012-08-15 21:00:46

+0

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

+1

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

回答

0

對於確切的字符串作爲上面貼,這個工程:

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

但是,如果//可能在任何地方註釋,它將無法工作。

我需要一些更多的信息,以便更準確地解決

歡呼 tannerli

0

只需使用一個功能:

這是做的最正確的方式,我相信。

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

0

這應做到:

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

嘗試這種模式:

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

應該爲<!--asdfasd--><!-- asdfasd -->

編輯工作

此外評論包含所有數字/字母/特殊字符???

那麼添加的所有預期的特殊字符沒有忘記轉義:

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

Nomik,不與下面的評論是否已斷行的工作... <! - asdfasd - > – 2012-08-15 21:21:26

+0

剛剛編輯... – 2012-08-15 21:26:20

+0

仍存在一些問題,不能正常工作,如果有註釋的HTML標籤 <! - magic - > – 2012-08-15 21:51:44

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

,這是爲我工作

0

嘗試以下模式:

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

它爲我工作。