如何在Javascript中匹配“=”?

时间:2012-11-02 04:42:40

标签: javascript regex

我已经"icon_abc".match(/\bicon_(.*?)\b/);工作,打印["icon_abc", "abc"]

但是当我使用"icon=abc".match(/\bicon=(.*?)\b/);时,我无法获得abc,它会打印["icon=", ""]

如何在Javascript中匹配这些特殊符号?例如:= -

3 个答案:

答案 0 :(得分:4)

在这个意义上,

=不是特殊符号。

这样做,例如:

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

那就是这样:

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

您需要进一步澄清您的要求,以便涵盖可能的字符串的整个字段。

答案 1 :(得分:0)

删除?

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

答案 2 :(得分:0)

使用:

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

问题是*表示匹配前面RE中的零个或多个,而?修饰符使其不贪心,因此它将返回最短的匹配。在这种情况下,零长度字符串匹配,因为字边界就在那里。

更改为+表示它将匹配1或更多,因此当它已经位于单词边界时,您将不会获得空匹配。