我正在jenkins上配置一个作业,以排除github推送上的文件。我想排除所有pom.xml文件,无论pom.xml位于何处(即父目录或任何子目录中)。
目前,这是有效的:
(P|p)roject/[^/]+/pom.xml
(P|p)roject/[^/]+/[^/]+/pom.xml
(P|p)roject/[^/]+/[^/]+/[^/]+/pom.xml
(P|p)roject/[^/]+/[^/]+/[^/]+/[^/]+/pom.xml
这也有效,但这一行很乱:
(P|p)roject/([^/]+|[^/]+/[^/]+|[^/]+/[^/]+/[^/]+|[^/]+/[^/]+/[^/]+/[^/]+)/pom.xml
我的问题是:有没有一个更干净的单行正则表达式可以覆盖父目录及其子目录
以下工作吗?
(P|p)roject/([^/]+/)+pom.xml
还需要注意的是,您没有转义正斜杠和点字符(.),您应该具有
这可能适用于
# (?i)project/(?:[^/]*/)*pom.xml
(?i)
project/
(?: [^/]* / )*
pom . xml