node.js正则表达式提取出现次数

node.js regex extracting occurrences

本文关键字:提取 js 正则表达式 node      更新时间:2024-05-24

我有这个正则表达式。。。

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

第一个结果只返回me,但第二个结果返回meou。node.js中是否有一个内置函数可以提取这些事件,或者我需要在有条件的情况下循环这个数组?

只需使用Array.slice:

results=mystring.match(myregex).slice(1);

您使用的Node版本是什么?匹配/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' ]