你能解释一下这个Groovy脚本吗?

时间:2015-09-02 07:03:10

标签: groovy operators

我对Groovy脚本非常陌生。我试图了解一个我已经过了十字架的剧本,有人可以解释一下这些步骤是做什么的吗?我对那里的==〜运算符感到困惑。我知道〜是否定的,但在这种情况下它意味着什么?

def matchRegExList = { str, regExList ->
  matched = false
  regExList.each { regEx ->
    if (str ==~ /$regEx/) {
      matched = true
    }
  }
  match_str = matched ? 'matched' : 'did not match'
  INFO("Branch $str $match_str RegEx list $regExList")
  return matched
}

由于

1 个答案:

答案 0 :(得分:0)

这是一个Groovy正则表达式运算符。

〜模式运算符

=〜查找运算符

==〜匹配运算符

如果参数与给定正则表达式匹配,则Match运算符返回布尔值true / false。

在你的代码中,有一个关闭&匹配注册列表'这需要两个参数。一个是要匹配的字符串,另一个是正则表达式列表。代码将每个正则表达式与您的字符串匹配,如果匹配,则返回true,否则返回false。

代码段

str ==~ /$regEx/

是Match运算符的用法。这将从你的正则表达式字符串创建一个模式,将它与你的字符串匹配,如果有匹配则返回true或false。

您可以在此处找到更多信息和示例: http://www.groovy-lang.org/operators.html#_regular_expression_operators