我HAVA得到"icon_abc".match(/\bicon_(.*?)\b/);
工作,打印["icon_abc", "abc"]
如何在Javascript中匹配「=」?
但是當我使用"icon=abc".match(/\bicon=(.*?)\b/);
,我不能讓ABC,它打印["icon=", ""]
如何搭配在Javascript這些特殊符號?如:= -
?
我HAVA得到"icon_abc".match(/\bicon_(.*?)\b/);
工作,打印["icon_abc", "abc"]
如何在Javascript中匹配「=」?
但是當我使用"icon=abc".match(/\bicon=(.*?)\b/);
,我不能讓ABC,它打印["icon=", ""]
如何搭配在Javascript這些特殊符號?如:= -
?
=
不是那個意義上的特殊符號。
這會做,例如:
"icon=abc".match(/\bicon=(.+)\b/)
所以纔會這樣:
"icon=abc".match(/\bicon=(.*)\b/)
你需要進一步澄清您的要求,從而使可能的串整場被覆蓋。
刪除?
"icon=abc".match(/\bicon=(.*)\b/);
["icon=abc", "abc"]
使用:
"icon=abc".match(/\bicon=(.+?)\b/)
的問題是,*
表示匹配前述RE的零個或多個,並且?
改性劑使其非貪婪,所以它會返回可能的最短匹配。在這種情況下,零長度字符串匹配,因爲字邊界就在那裏。
更改爲+
表示它將匹配1個或更多,所以當它已經處於單詞邊界時,您不會獲得空匹配。