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']

第一个结果只返回,但第二个返回,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 回答