节点参数文件扩展名RegExp

我想使用node.jssearch一个特定的文件types的目录。

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 

我的正则expression式错了吗? 在这种情况下,它将是^。*。js $

当你用新的声明一个正则expression式对象时,你应该避免反斜杠。

尝试var re = new RegExp("^.*\\." + ext + "$");

MDN