Javascript 文件扩展名RegExp的节点参数
我想使用node.js在目录中搜索特定的文件类型Javascript 文件扩展名RegExp的节点参数,javascript,regex,node.js,Javascript,Regex,Node.js,我想使用node.js在目录中搜索特定的文件类型 var fs = require('fs'); var dir = process.argv[2]; // directory var ext = process.argv[3]; // file extension to search for fs.readdir( dir, function(err, list) { if(err) throw err; // build regex search
var fs = require('fs');
var dir = process.argv[2]; // directory
var ext = process.argv[3]; // file extension to search for
fs.readdir( dir, function(err, list) {
if(err)
throw err;
// build regex search
var re = new RegExp("^.*\." + ext + "$");
// print if specific extension found
list.forEach( function(item) {
if( re.test(item) )
console.log(item);
});
});
以下是执行情况:
node readDir.js ./ js
但我得到的结果是一个没有扩展名的文件。控制台输出:
01-express.js
hihihijs
myprogram.js
readDir.js
readFileAsync.js
readFileSync.js
我的正则表达式错了吗?在这种情况下,^.*.js$当您用new声明一个regex对象时,应该转义反斜杠 尝试
var re=newregexp(“^.*\\”+ext+“$”)代码>
当您用new声明正则表达式对象时,应该使用双转义反斜杠。尝试RegExp(“^.*\\”+ext+“$”)代码>就是这样!非常感谢。我可以投票认为你的意见是正确的解决方案吗?