编写REGEX时出现问题

时间:2018-03-14 19:15:34

标签: regex replace

我需要一些正则表达式的帮助。 我的问题是从jar / war artefact中提取版本号,这样我就可以将遗产的mvn deploy-file运行到nexus 这些线就像下面的

-DartifactId=my-jarfile-1.2.1 -Dversion=<version> -Dpackaging=war

我的任务是使它成为那样的

-DartifactId=my-jarfile -Dversion=1.2.1 -Dpackaging=war

我正在尝试以下但我没有成功:

^(?:-DartifactId=.)$(\d+)(\.\d+)(\.\d+)$|^(\d+)(\.\d+)$|^(\d+)$|^(\d+)(\.\d+)(-.+)$|^(\d+)(-.+)$

2 个答案:

答案 0 :(得分:0)

这是我正在使用的正则表达式,假设开关总是以该顺序出现:

$value

在此处查看:https://regex101.com/r/2pnp5G

答案 1 :(得分:0)

您可以匹配正版版本号:

-Dversion=((\d+\.)*\d+)