2

私はこの正規表現を持っています:

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 に答える