在文件夹或文件名中的glot模式匹配字符串



我需要在文件夹或文件名中匹配单词"缓存",它也必须以.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的文件夹必须正好在文件本身上方一个级别上,但也许对您有用。

最新更新