如何编写匹配src目录下非双大写字母加点开头文件的glob模式
匹配规则实现
通用glob模式
大多数支持扩展glob语法的环境(zsh、Node.js glob库、gitignore等)可以直接使用以下模式:src/!([A-Z][A-Z].)*
bash环境适配
如果在bash中使用,需要先开启扩展glob开关:
shopt -s extglob
开启后即可使用上述模式匹配目标文件。
排除式写法(兼容更多场景)
部分不支持否定前缀语法的场景,可以用组合规则实现:
- 先包含src目录下所有文件:
src/* - 再排除前缀为两个大写字母加英文点的文件:
!src/[A-Z][A-Z].*
匹配验证
- 命中(符合要求)的文件:
- foo.txt
- foo-bar.txt
- foo.bar.baz.txt
- fo.txt
- 排除(不符合要求)的文件:
- AB.foo.txt
- AB.foo-bar.txt
- XY.foo.bar.baz.txt
- FO.fo.txt
内容的提问来源于stack exchange,提问作者AC101
相关产品推荐
相关产品推荐

