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

前端之家收集整理的这篇文章主要介绍了正则表达式 – 用于正则表达式匹配的Groovy语法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Groovy等同于以下Perl代码是什么?
my $txt = "abc : groovy : def";
if ($txt =~ / : (.+?) : /) {
  my $match = $1;
  print "MATCH=$match\n"; 
  # should print "MATCH=groovy\n"
}

我知道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]
原文链接:https://www.f2er.com/regex/357407.html

猜你在找的正则表达式相关文章