求助:如何用正则表达式匹配指定的文件路径集合?
文件路径匹配的正则表达式解决方案
你原来的正则表达式test\/.*\.exs$|file\.yml只覆盖了test目录下的.exs文件和根目录的file.yml,漏掉了test/ok2_test.yml这类test目录下的.yml文件。
可以用下面的正则匹配所有目标路径:
test\/.*_test\.(exs|yml)$|file\.yml
如果需要更严谨(避免匹配类似test/abc_test.exs.txt这类带多余后缀的文件),可以加上起始锚点^:
^(test\/.*_test\.(exs|yml)$|file\.yml)$
正则拆解:
test\/:精准匹配路径开头的test/.*_test:匹配任意字符,直到结尾的_test(贴合目标文件的命名格式)\.(exs|yml):匹配文件后缀为.exs或.yml$:匹配行尾,确保路径没有多余后缀|file\.yml:单独匹配根目录的file.yml
验证匹配:
- ✅
test/thing_test.exs - ✅
test/ok_test.exs - ✅
file.yml - ✅
test/ok2_test.yml
内容的提问来源于stack exchange,提问作者bezzoon
相关产品推荐
相关产品推荐

