【发布时间】:2015-06-19 15:33:05
【问题描述】:
如果我有一个像fooba 这样的字符串,并且我想同时捕获foo 和fooba 我该怎么办?如果我使用foo|fooba,它只包含第一个foo 而不是fooba。
【问题讨论】:
标签: javascript regex
如果我有一个像fooba 这样的字符串,并且我想同时捕获foo 和fooba 我该怎么办?如果我使用foo|fooba,它只包含第一个foo 而不是fooba。
【问题讨论】:
标签: javascript regex
【讨论】:
exec 按钮,您也可以以同样的方式使用捕获的组。
exec 你可以这样做:var m = /(?=(foo))(?=(fooba))/.exec('fooba'); 然后使用m[1] 和m[2]
m[0] 应该是完整的匹配,因为我们这里除了前瞻之外什么都没有,因此m[0] 是空的。如果您将正则表达式更改为/(?=(foo))(?=(fooba)).*/,那么您将在m[0] 中获得fooba