node glob入门

发表于 2019-09-06  31 次阅读


文章目录

glob是一种匹配模式,最早出现在类unix命令行中,用以匹配文件和目录路径。例如我们在命令行里输入ls *.js,在.gitignore写的规则build/*

以下字符在路径中有特殊的意义:
*匹配一个路径中一个或多个字符。
?匹配一个字符。
[...]匹配中括号里面指定范围的字符,类似于正则表达式范围。如果范围的第一个字符是!^,表示取反,匹配不在范围内的字符。
!(pattern|pattern|pattern) 匹配不适合指定的模式的字符
?(pattern|pattern|pattern) 匹配0个或1个符合指定模式的字符
+(pattern|pattern|pattern) 匹配1个或多个符合指定模式的字符
*(a|b|c) 匹配0个或多个符合指定模式的字符
@(pattern|pat*|pat?erN) 精确匹配指定的模式的字符
** 两个星单独出现在路径的一部分,表示匹配0个或多个目录,包括匹配子目录。

点号(dots)

如果一个文件或目录的路径部分是以点号(.)作为第一个字符, 那么它不匹配任何模式除非模式对应的路径部分也是以点号(.)作为第一个字符。例如模式a/.*/c会匹配文件a/.b/c, 但是模式a/*/c不会匹配。因为*不是以点号开始。你可以传入选项dot: true使glob处理点号像正常字符一样。

本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。

0

眼前解决不了的问题, 都可交付未来, 时间是一个伟大的作者, 他必将写出, 最完美的答案。