我一直在 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/