如何捕获以下正则表达式组?目前我通过正常的字符串拆分捕获GAV。 我正在使用groovy / java。
示例输入:
repo1-cache/org/eclipse/jetty/jetty-server/7.1.0.RC1/jetty-server-7.1.0.RC1.jar
示例输出:
Group 1: org/eclipse/jetty
Group 2: jetty-server
Group 3: 7.1.0.RC1
示例输入2:
jboss-cache/antlr/antlr/2.7.7/antlr-2.7.7.jar
示例输出2:
Group 1: antlr
Group 2: antlr
Group 3: 2.7.7
答案 0 :(得分:0)
您可以简单地使用下面的内容,我想这将返回一个数组(我不知道什么是Maven),然后您可以使用它来访问元素。
/(?<=\()([^)]+(?=\))/g
答案 1 :(得分:0)
虽然不使用正则表达式,但您可以使用maven索引器使用的相同逻辑来解析gavs的路径。对于maven 2存储库,M2GavCalculator中提供了逻辑。对于maven 1存储库,逻辑可在M1GavCalculator中找到。
您应该能够通过以下方式将其带入您的项目中:
<dependency>
<groupId>org.apache.maven.indexer</groupId>
<artifactId>indexer-core</artifactId>
<version>5.1.1</version>
</dependency>