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

时间:2019-03-17 21:17:11

标签: glob

我需要在文件夹或文件名中匹配“缓存”一词,并且还必须以.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,但这似乎不起作用。

1 个答案:

答案 0 :(得分:0)

**/{*cache*/*,*cache*}.test.js怎么样?这是假设您正在使用minimatch库(如果使用JavaScript,则可能会出现这种情况)。尝试使用globster.xyz来测试和改善您的模式。

在我提到的模式{}中,有一个称为花括号扩展的功能。该模式将扩展为两种不同的模式:一种用于匹配目录名,另一种用于匹配文件名**/*cache*/*.test.js**/*cache*.test.js。这仍然不是完美的,因为包含cache的文件夹必须比文件本身高一层,但也许对您有用。

相关问题