关于通配模式的困惑

时间:2013-12-08 15:46:43

标签: path gruntjs glob

在GruntJS网站上,它有一个section on globbing patterns,但我有点困惑。

  

foo/**/*.js将匹配.js中以foo/结尾的所有文件   子目录及其所有子目录。

我看到双星号匹配包括/在内的所有路径,但如果文件位于foo路径中,是否意味着它正在尝试匹配名为foo//*.js的路径?

在我发现之前,我正在尝试像foo/{,**}*.js这样的事情,但我从未真正做过我想要的事情,而且我对为什么不起作用感到有些困惑。

1 个答案:

答案 0 :(得分:0)

双星号表示模式应该执行递归匹配;即查看它找到的所有子目录。例如,模式将匹配:

1. foo/bar.js
2. foo/baz.js
3. foo/bar/baz.js
4. foo/bar/baz/qux.js

它与foo.txt文件不匹配。虽然foo/**等模式会递归地匹配所有内容txtjscss等。

然而,foo/*.js之类的模式只会匹配1和2,因为它不是递归模式。