加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 用于正则表达式匹配的Groovy语法

发布时间:2020-12-14 06:33:53 所属栏目:百科 来源:网络整理
导读:Groovy等同于以下Perl代码是什么? my $txt = "abc : groovy : def";if ($txt =~ / : (.+?) : /) { my $match = $1; print "MATCH=$matchn"; # should print "MATCH=groovyn"} 我知道TMTOWTDI(包括常规的Java方式) – 但是做什么是“Groovy”呢? 这是一种
Groovy等同于以下Perl代码是什么?
my $txt = "abc : groovy : def";
if ($txt =~ / : (.+?) : /) {
  my $match = $1;
  print "MATCH=$matchn"; 
  # should print "MATCH=groovyn"
}

我知道TMTOWTDI(包括常规的Java方式) – 但是做什么是“Groovy”呢?

这是一种方法,但感觉有点笨拙 – 特别是数组符号(m [0] [1])感觉有点奇怪。有更好的办法吗?如果没有,请描述m [0] [1]背后的逻辑。

def txt = "java : groovy : grails"
if ((m = txt =~ / : (.+?) :/)) {
  def match = m[0][1]
  println "MATCH=$match"
}
m [0]是第一个匹配对象。
m [0] [0]是匹配的一切。
m [0] [1]是这场比赛的第一个捕获。
m [0] [2]是这场比赛中的第二次捕获。

根据我所读的(我不在Groovy中编程或有一个副本方便),给出

def m = "barbaz" =~ /(ba)([rz])/;

m [0] [0]将为“bar”
m [0] [1]将为“ba”
m [0] [2]将为“r”
m [1] [0]将是“baz”
m [1] [1]将“ba”
m [1] [2]将为“z”

我不能不知道我是否正确,所以我下载了groovy并写了一个例子:

def m = "barbaz" =~ /(ba)([rz])/;

println "m[0][0] " + m[0][0]
println "m[0][1] " + m[0][1]
println "m[0][2] " + m[0][2]
println "m[1][0] " + m[1][0]
println "m[1][1] " + m[1][1]
println "m[1][2] " + m[1][2]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读