全球否定是如何运作的?

时间:2017-04-21 21:32:26

标签: linux gulp gruntjs glob

我正在使用gulp并且不理解以下glob模式的方法:

'./bower_components/**/!(*.min).css'

它选择除min后缀之外的所有css文件。如果它是正则表达式,它会编译成什么?

我理解为什么'./bower_components/**/*!(.min).css'形式不起作用,但我仍然不明白为什么不需要在.css之前加上星号:

'./bower_components/**/!(*.min)*.css'

.min之前的星号读取字符或者你能解释一下吗? 如果星号在括号中,这个模式如何在否定括号之前找到匹配?我把它想象成一个正则表达式。 谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了这个与此问题相关的stackoverflow答案: https://stackoverflow.com/a/36295481/2929207

适用于此问题如下:

import glob
files = glob.glob('./bower_components/**/[!*.min].css')