node-glob:js上的正则

node-glob模块基于javascript的minimatch库,用于实现类似shell的文件匹配。通过*、?、[]等通配符,可以方便地获取符合规则的文件。本文介绍了glob的安装、基本用法,以及各种通配符的详细解释,如*匹配多个任意字符,?匹配一个任意字符,**匹配任意路径等,并提到了同步获取匹配文件列表的方法和错误处理。
摘要由CSDN通过智能技术生成

node的glob模块允许你使用 *等符号, 来写一个glob规则,像在shell里一样,获取匹配对应规则的文件.

这个glob工具基于javascript.它使用了 minimatch 库来进行匹配

用法:

首先下载glob包: 

npm install glob

调用格式:

复制代码

var glob = require("glob")

// options 是可选的
glob("**/*.js", options, function (er, files) {
  // files 是匹配到的文件的数组.
  // 如果 `nonull` 选项被设置为true, 而且没有找到任何文件,那么files就是glob规则本身,而不是空数组
  // er是当寻找的过程中遇的错误
})

复制代码

"globs" 就是模型,比如当你在命令行里输入 ls *.js,  又或者是你在 .gitignore 文件里写的 bulid/* 这些.

在解析路径模型的时候, 大括号里用多个逗号隔开的内容会被展开, 里面的部分也可以包含"/" ,比如  a{/b/c, bcd}  会被展开成 a/b/c 和 abcd 

路径中的某一段可以使用下面的这些字符表示,他们各自都有很炫的作用:

  • 1. * : 匹配该路径段中0个或多个任意字符:
  • //*:匹配路径中某部分:0个或多个字符
    glob("js/*.js",function (er, files) {
        console.log(files)
    })

    获取js目录下的所有js文件.(不包括以'.'开头的文件)
     

  • 2. ? : 匹配该路径段中1个任意字符:
  • //?:匹配路径中某部分:1个字符
    glob("js/?.js",function (er, files) {
        console.log(files)
    })

    获取js目录下所有名字只有1个字的js.
     

  • 3. [...] : 匹配该路径段中在指定范围内字符:
    注意不能组合,只能是其中一个字符
  • //[]:匹配
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值