就像是:
def match = "John 19" =~ /(&name&)\w+ (&age&\d+)/
def name = match.name
def age = match.age
是否有允许这样的东西的常规语法(而不是我编造的虚构的
&
运算符?
请您参考如下方法:
假设您在 Java 7+ 上使用,您可以执行以下操作:
def matcher = 'John 19' =~ /(?<name>\w+) (?<age>\d+)/
if( matcher.matches() ) {
println "Matches"
assert matcher.group( 'name' ) == 'John'
assert matcher.group( 'age' ) == '19'
}
else {
println "No Match"
}
如果你还没有使用 java 7,你需要一个 third party regex library