Tag: regex

咕噜(minimatch / glob)文件夹排除

我有一个情况,我试图用grunt来删除一个代码库,不包括特定的文件夹。 咕噜使用minimatch(类似于bsdglob)在引擎盖下匹配文件,但我似乎无法弄清楚如何做一个.gitignore风格排除一个文件夹。 我想要摄取这个: ignoreme 并匹配这些: /folder/path/here/to/something/ok.js /another/folder/path.js /test.js 但不匹配这些: /folder/ignoreme/something.js /folder/path/here/to/ignoreme/metoo/file.js 这将匹配一切,包括忽略: /**/*.js 所以我想我可以做一些事情: /**/!(ignoreme)/**/*.js 但是匹配ignoreme文件夹中的文件。 我习惯了正则expression式,但似乎无法弄清楚如何在这里重复模式或东西 – 我也尝试过这样的东西: /(!(ignoreme)|*)*/*.js 希望容器可以重复,但是这不起作用,它只是没有匹配所有的东西。 任何方式来传递一个正则expression式grunt文件path,或使这对我工作? 更新: 以下是我目前正在处理的问题: var pattern = /\/ignoreme\// var files = grunt.file.expandFiles(arrayOfFilesPassedToMinimatch).filter(function(f){ return !pattern.test(f) }) 我仍然有兴趣,如果文件夹排除可能在minimatch。