4

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

/user/([A-Za-z0-9]*)

この入力文字列に一致するものは...

/user/me

これにより、この結果がコンソールに表示されます...

['/user/me', 'me', index: 0, input: '/user/me']

この例も参照してください...

Regex: /user/([A-Za-z0-9]*)/([A-Za-z0-9]*)
Input: /user/me/you
Result: ['/user/me/you', 'me', 'you', index: 0, input: '/user/me/you']

最初の結果は私を返しますが、2番目はあなたを返します.node.jsにこれらの出現を抽出する組み込み関数がありますか、または条件付きでこの配列をループする必要がありますか?

4

2 に答える 2

2

使用するだけArray.sliceです:

results=mystring.match(myregex).slice(1);
于 2012-07-30T02:39:14.960 に答える
0

どのバージョンのノードを使用していますか? マッチングの結果が/user/me/youおかしい。とにかく、Node.js 0.8.4で以下のコードを実行します

> r = /\/user\/([A-Za-z0-9]*)/
  /\/user\/([A-Za-z0-9]*)/
> r.exec('/user/me')
  [ '/user/me',
    'me',
    index: 0,
    input: '/user/me' ]
> r.exec('/user/me/you')
  [ '/user/me',
    'me',
    index: 0,
    input: '/user/me/you' ]
于 2012-07-29T16:25:27.927 に答える