如何使用正则表达式查找文件中的所有车把部分

时间:2016-07-20 08:22:34

标签: javascript regex node.js

我一直在使用的表达式在regExr中工作,但是当我在节点中运行我的代码时,它只返回一个部分而不是部分数组。

我的节点文件

'use strict';
var fs = require('fs');

module.exports = function() {
  fs.readFile('text.txt', 'UTF8', function(err, contents) {
    if(err) throw err;

    var re = /({{> (\w*)}})/g;
    var myArray = re.exec(contents);

    console.log(myArray);
  });
}();

TEXT.TXT

{{> test}}

{{> test2}}

{{> test3}}

我的返回结果只是{{> test}}

1 个答案:

答案 0 :(得分:1)

如果您使用.exec(),则需要在循环中调用它,直到它返回null以获得所有匹配结果。要简单地获取数组中的匹配项,请在内容上使用.match

'use strict';
var fs = require('fs');

module.exports = function() {
  fs.readFile('text.txt', 'UTF8', function(err, contents) {
    if(err) throw err;

    var re = /({{> (\w*)}})/g;
    var myArray = contents.match(re);

    console.log(myArray);
  });
}();