我需要在文件夹或文件名中匹配单词"缓存",它也必须以.test.js
结束示例:
/Users/doge/lib/cache/index.js // should not match
/Users/doge/lib/cache/index.test.js // should match
/Users/doge/lib/something/index.test.js // should not match
/Users/doge/lib/something/cache.test.js // should match
我已经尝试过/**/*cache*.test.js
,但似乎不起作用。
**/{*cache*/*,*cache*}.test.js
怎么样?这是假设您正在使用Minimatch库(如果您使用JavaScript,则可能是这样)。尝试使用globster.xyz测试和改进您的模式。
在我提到的模式中,{}
是一个称为Brace扩展的功能。此模式将扩展为两个单独的模式:一个用于匹配目录名称,另一个用于匹配文件名**/*cache*/*.test.js
,**/*cache*.test.js
。这仍然不是完美的,因为包含cache
的文件夹必须正好在文件本身上方一个级别上,但也许对您有用。