尝试使用正则表达式捕获以下内容:
test/thing_test.exs test/ok_test.exs file.yml test/ok2_test.yml
我尝试了以下方法:第一个月但是这不起作用,我想弄清楚如何用正则表达式来捕获每一个。
smdnsysy1#
你的问题很模糊,所以我利用我可以解释的信息。我的理解是,你想要一个正则表达式匹配以exs或yml结尾的文件名。这可能是当前目录中的一个文件,也可能存在于test目录中。如果我的理解是正确的,那么下面的正则表达式应该可以帮助你实现这一点:
exs
yml
test
/^(test\/)?.*\.(yml|exs)$/
uhry853o2#
您可以使用:
^(?:test\/)?[^\s\/]+\.(?:yml|exs)$
^
(?:test\/)?
test/
[^\s\/]+
/
\.
(?:yml|exs)
$
参见regex demo。
2条答案
按热度按时间smdnsysy1#
你的问题很模糊,所以我利用我可以解释的信息。我的理解是,你想要一个正则表达式匹配以
exs
或yml
结尾的文件名。这可能是当前目录中的一个文件,也可能存在于test
目录中。如果我的理解是正确的,那么下面的正则表达式应该可以帮助你实现这一点:uhry853o2#
您可以使用:
^
字符串开始(?:test\/)?
可选地匹配test/
[^\s\/]+
匹配除空白字符或/
以外的1+个字符\.
匹配点(?:yml|exs)
与yml
或exs
匹配$
字符串结束参见regex demo。