版本号格式的正则表达式

时间:2016-05-17 15:31:53

标签: regex groovy

请帮助我提供以下版本号格式的正则表达式:

e.g。 10.01.03-13

< major>。< minor>。<补丁> - < buildnumb>

2 个答案:

答案 0 :(得分:5)

您可以使用数字 - 点 - 数字 - 点 - 数字 - 连字符数字模式后面的数字进行简单匹配,因为groovy uses the java engine

(\d+)\.(\d+)\.(\d+)\-(\d+)

Test

#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) }
}