2

我有这个RegExp

RegExp('f(o+)', 'g').exec('fofoofooofoooo')

在结果数组res中,我期望得到:

res[1] === 'o'
res[2] === 'oo'
res[3] === 'ooo'
res[4] === 'oooo'

但我得到了:

res === [ 'fo',
  'o',
  index: 0,
  input: 'fofoofooofoooo' ]

有没有办法得到我的预期结果?我得到的只是第一场比赛。

4

1 回答 1

3

使用.match而不是.exec

'fofoofooofoooo'.match(RegExp('f(o+)', 'g')) // ["fo", "foo", "fooo", "foooo"]

用于在将字符串与正则表达式匹配时检索匹配项。

于 2013-07-28T19:53:43.000 回答