Javascript匹配仅返回第一个匹配项

时间:2016-01-28 19:08:50

标签: javascript regex

我遇到了将匹配变为简单正则表达式的问题。这是代码:

var keyWordRegex = /\{\w+\}/;
"idSalaVirtual={idSalaVirtual}&idSalaVirtualOferta={idSalaVirtualOferta}".match(keyWordRegex)

此代码返回["{idSalaVirtual}"] instead of ["{idSalaVirtual}", "{idSalaVirtualOferta}"],这是我演示的结果。如果我从测试字符串中删除{idSalaVirtual},则返回["{idSalaVirtualOferta}"]

有谁知道为什么它没有从方法中返回两个单词?

提前致谢。

使用''解决问题。国旗,但我甚至都不知道这面旗帜的存在。因此,没有理由将其标记为The 'g' flag in regular expressions的副本 如果有人遇到了我所做的同样的问题而不知道是否存在'国旗,他们没有找到答案。

1 个答案:

答案 0 :(得分:4)

使用g标志

var keyWordRegex = /\{\w+\}/g;
  "idSalaVirtual={idSalaVirtual}&idSalaVirtualOferta={idSalaVirtualOferta}".match(keyWordRegex)