NodeJS RegExp:如何访问结果的完整列表

NodeJS RegExp: how to access full list of results

本文关键字:结果 列表 访问 RegExp 何访问 NodeJS      更新时间:2023-09-26

当我在Node中.exec()正则表达式时,我无法访问完整的结果列表。下面是我的代码:

var p = /(aaa)/g;
var t = "someaaa textaaa toaaa testaaa aaagainst";
p.exec(t);
> [ 'aaa', 'aaa', index: 4, input: 'someaaa textaaa toaaa testaaa aaagainst' ]

无论如何,我只得到两个结果。我的错误是在RegExp本身吗?

任何帮助将不胜感激!

exec将只返回第一个匹配的结果。获取所有结果

  1. 使用match

    var p = /(aaa)/g;
    var t = "someaaa textaaa toaaa testaaa aaagainst";
    var matches = t.match(p);
    

var p = /(aaa)/g,
  t = "someaaa textaaa toaaa testaaa aaagainst";
var matches = t.match(p);
console.log(matches);

  • 使用whileexec

    while(match = p.exec(t)) console.log(match);
    
  • var p = /(aaa)/g,
      t = "someaaa textaaa toaaa testaaa aaagainst";
    var matches = [];
    while (match = p.exec(t)) {
      matches.push(match[0]);
    }
    console.log(matches);

    阅读:match Vs exec in JavaScript

    var p = /(aaa)/g;
    var t = "someaaa textaaa toaaa testaaa aaagainst";
    t.match(p);