2012-11-02 85 views
-2

我HAVA得到"icon_abc".match(/\bicon_(.*?)\b/);工作,打印["icon_abc", "abc"]如何在Javascript中匹配「=」?

但是當我使用"icon=abc".match(/\bicon=(.*?)\b/);,我不能讓ABC,它打印["icon=", ""]

如何搭配在Javascript這些特殊符號?如:= -

回答

4

=不是那個意義上的特殊符號。

這會做,例如:

"icon=abc".match(/\bicon=(.+)\b/) 

所以纔會這樣:

"icon=abc".match(/\bicon=(.*)\b/) 

你需要進一步澄清您的要求,從而使可能的串整場被覆蓋。

0

刪除?

"icon=abc".match(/\bicon=(.*)\b/); 
["icon=abc", "abc"] 
0

使用:

"icon=abc".match(/\bicon=(.+?)\b/) 

的問題是,*表示匹配前述RE的零個或多個,並且?改性劑使其非貪婪,所以它會返回可能的最短匹配。在這種情況下,零長度字符串匹配,因爲字邊界就在那裏。

更改爲+表示它將匹配1個或更多,所以當它已經處於單詞邊界時,您不會獲得空匹配。

相關問題