我正在爲我的項目創建一個bom(http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html)。我的項目有很多依賴關係...所以我創建了一個可以爲我生成xml的小ruby腳本。但是,當涉及到正則表達式時,我就不能確定artifactId。假設我有以下3條路徑:maven artifact正則表達式
- /Users/buddy/Downloads/jboss-esb/client/hibernate-commons-annotations.jar
- /用戶/好友/下載/的jboss-ESB /客戶機/ EJB3-persistence.jar
- /Users/buddy/Downloads/jboss-esb/server/default/deploy/spring.esb/spring-core-3.0.6.RELEASE.jar
,我試圖找到一個正則表達式,只返回我
- 休眠-公地註解
- EJB3餘輝
- 彈簧核
之前提到的路徑是在變量名和我有這樣的正則表達式來確定版本和artifactId的(顯然我有一些默認版本,以防文件名中沒有版本)
@version = version
if temp_version = filename[/-([\d+{1,3}\.A-Z]+).jar/,1]
@version = temp_version
end
@artifactId = filename[/.*\/([\w\d]+\-?[^\d^\-]*)\-?[\d+\.A-Z]*.jar/,1]
但它不會在所有情況下都起作用。
任何幫助使正則表達式在所有情況下都能正常工作,並且正則表達式的簡化版本非常感謝。
順便說一句你的版本正則表達式有什麼問題? – Gabber
版本正則表達式很好。我只是爲了完整而添加它,所以沒有maven上帝試圖讓artifactId和版本具有相同的正則表達式 – Buddy
Ahah,好點:D – Gabber