首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点/JavaScript glob文件/路径匹配语法、通配符等

节点/JavaScript glob文件/路径匹配语法、通配符等
EN

Stack Overflow用户
提问于 2014-06-14 16:44:15
回答 1查看 17.8K关注 0票数 20

我刚刚找到了http://gruntjs.com/configuring-tasks#globbing-patterns,这是我找到的最有用的参考资料。

我一直看到:

有关glob模式语法的更多信息,请参见node-glob和minimatch文档。

然而,我似乎找不到语法/用法的详尽列表。这些测试可能是最好的参考,但仍然不容易破译。

看来我一定是错过了一些重要的文档来源。

我想知道在以下几个方面的区别:

代码语言:javascript
复制
path
path/
path/*
path/*.*
path/**
path/**/
path/**/*
path/**/*.*

以及我可能忽略的任何其他重要的变化。我猜想这在执行node-glob样式匹配('public/**/*.*')和.gitignore (node_modules)时应用不同,因为在前者中,需要显式地包含所有东西,很多层深,而在gitignore中,这是通过忽略任何目录自动处理的。这是正确的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-22 11:11:30

首先,我从未使用过node-globminimatch库。但也许我还能帮上忙。glob模式匹配有一种已知的语法,但坦率地说,在Google中快速搜索没有显示任何简短和清晰的内容。也许这- http://hgbook.red-bean.com/read/file-names-and-pattern-matching.html#id381184 -是我找到的最好的资源。维基百科上的这篇文章是详尽无遗的,无法阅读-- (方案编制)

简而言之,IMHO用于节点-glob

  • * -表示文件名的任意数量的字符,但不能代表/
  • ** -与*相同,但跨越文件夹边界
  • [abxy] -可以从列表中替换任何一个字符;[0-9]可以代表任何数字

因此,对于您的例子:

  • path/* - path中的所有文件和文件夹都不回发
  • path/** - path中的每一件事
  • path/*.* -所有文件和文件夹的点名;匹配a.txt.hiddennoextension.folder.out,.

来自minimatch文档-- https://github.com/isaacs/minimatch --它也是这样做的,但是使用了正则表达式的更丰富和稍微困难的语法。你可以在这里寻找一个综合的参考- regexp.asp。简而言之,path/.*代表路径下面的任何内容,但不清楚是否递归。你可能会测试它。

票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24222093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档