微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Groovy正则表达式模式匹配中是否有命名组?

就像是:

def match = "John 19" =~ /(&name&)\w+ (&age&\d+)/
def name = match.name
def age = match.age

有没有一个groovy语法允许这样的东西(而不是我构成的虚构和运算符?

解决方法

假设您在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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐