node.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > node.js > node NPM库glob minimatch

node NPM库glob通配符匹配文件名minimatch模式匹配字符串学习

作者:脉冲云_梁兴臣

这篇文章主要为大家介绍了node NPM库glob通配符匹配文件名minimatch模式匹配字符串学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

NPM酷库

每天两分钟,了解一个流行NPM库。

经常,我们的程序需要对磁盘文件进行管理,就需要读取磁盘上的文件列表,然后可能会需要判断文件夹或文件名,还可能需要递归扫描子目录。

glob

今天我们要了解的库 glob,就是专门用来扫描磁盘文件,并返回我们需要的文件类型。

const glob = require("glob")
glob("**/*.js", function (error, files) {
  // files 就是我们得到的文件的列表
})

上述代码中,我们会递归查找当前目录下的所有.js 文件,因为我们使用了 **/*.js 通配符做查找条件。

glob 支持的通配符模式

glob 支持强大的匹配规则,但是要注意glob的匹配规则并不是正则表达式,详细支持如下:

其他特性

除下上文中的异步接口,glob还支持 glob.sync() 同步接口,另外,glob还支持大量的参数选项,比如cwd,root 等等,具体请参考官方文档。

参考文档

glob: https://github.com/isaacs/nod...

minimatch

glob 的基础库: minimatch,用来模式匹配字符串的库。

其实,glob库支持的的各种模式都来自于minimatch。

minimatch 的用法

const minimatch = require("minimatch")
minimatch("bar.foo", "*.foo") // true
minimatch("bar.foo", "*.bar") // false
minimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true

minimatch 支持的通配符模式

要注意,minimatch的匹配模式并非是正则表达式,具体支持如下:

参考资料

https://github.com/isaacs/nod...

https://github.com/isaacs/min...

https://en.wikipedia.org/wiki...

以上就是node NPM库glob通配符匹配文件名minimatch模式匹配字符串学习的详细内容,更多关于node NPM库glob minimatch的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文