正则表达式用于匹配Yaml文件

use*_*r54 1 regex string regex-negation regex-group regex-greedy

我有包含yaml文件的下一个目录路径:

test/1.yaml
test/dev.yaml
test/dev0_r.yaml 
Run Code Online (Sandbox Code Playgroud)

等等

如何匹配完全在test /目录中但不在子目录(如test / test1 / dev.yaml)中的所有Yaml文件

我正在尝试使用globing:

test/*.yaml 
Run Code Online (Sandbox Code Playgroud)

但在https://regex101.com/上不起作用

我该如何实现?

Emm*_*mma 5

在这里,我们将在test目录之后添加非斜杠char类条件,以仅通过第一个目录,其表达式类似于:

^test\/[^\/]+\.yaml$
Run Code Online (Sandbox Code Playgroud)

如果愿意,我们可以添加/减少边界。例如,我们可以删除起点和终点锚点,但它仍然可以工作:

test\/[^\/]+\.yaml
Run Code Online (Sandbox Code Playgroud)

演示版

RegEx电路

jex.im可视化正则表达式:

在此处输入图片说明

  • 您应该使用`+`量词而不是`*`。+1 (2认同)