2014-09-23 20 views
1

我正在配置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 

我的問題:有一個更清潔的一行正則表達式,將覆蓋父目錄它的子目錄?

+0

這是一個'.gitignore'文件? – Dancrumb 2014-09-23 21:28:11

+1

你不能只用'(P | p)roject /.+/pom \ .xml'嗎? – 2014-09-23 21:29:05

回答

2

做下列工作嗎?

(P|p)roject\/([^/]+\/)+pom\.xml 

也注意到,你沒有逃脫斜線和點字符(。),你應該有

1

這可能會實現

# (?i)project/(?:[^/]*/)*pom\.xml 

(?i) 
project/ 
(?: [^/]* /)* 
pom \. xml