我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个或更多,所以当它已经处于单词边界时,您不会获得空匹配。