用于文件扩展名的节点Args RegExp

时间:2013-10-28 21:13:17

标签: 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 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 $

1 个答案:

答案 0 :(得分:2)

当你使用new声明一个正则表达式对象时,你应该转义反斜杠。

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

MDN