javascript - 如何使用正则表达式查找文件中的所有 Handlebars 部分

标签 javascript regex node.js

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

我的 Node 文件

'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);
  });
}();

文本.txt

{{> test}}

{{> test2}}

{{> test3}}

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

最佳答案

如果使用.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);
  });
}();

关于javascript - 如何使用正则表达式查找文件中的所有 Handlebars 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38476027/

相关文章:

Java/android - 检查字符串 `FileName` 是否包含任何文件名不允许的字符

python - 我怎么能只比较 dd/mm 和 dd/mm/yyyy 在 Google 表格中?

node.js - Azure 服务器上的 GraphQL

Internet Explorer 的 JavaScript 问题,在 google chrome 中工作正常,但在 ie 中不行,

javascript - 每次用户单击按钮时运行 if 语句检查器

regex - 使用扩展正则表达式和捕获组的 sed

javascript - 了解 promise 链

javascript - 错误 "Uncaught TypeError: $(...).datetimepicker is not a function"

javascript - AngularJS $http-Service 的问题

node.js - 此实验性语法需要启用解析器插件 : 'objectRestSpread'