请帮助我提供以下版本号格式的正则表达式:
e.g。 10.01.03-13
< major>。< minor>。<补丁> - < buildnumb>
答案 0 :(得分:5)
您可以使用数字 - 点 - 数字 - 点 - 数字 - 连字符数字模式后面的数字进行简单匹配,因为groovy uses the java engine。
(\d+)\.(\d+)\.(\d+)\-(\d+)
#1
= major
#2
=次要
#3
=补丁
#4
= buildnumb
答案 1 :(得分:2)
如果您喜欢,也可以使用命名组:
def version = '10.01.03-13'
def parser = /(?<major>\d+).(?<minor>\d+).(?<revision>\d+)-(?<build>\d+)/
def match = version =~ parser
if(match.matches()) {
def (major, minor, revision, build) = ['major', 'minor', 'revision', 'build'].collect { match.group(it) }
}