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

Can you please explain this Groovy Script

我对 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
}

谢谢

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

~模式运算符

=~ 查找运算符

==~匹配运算符

根据这些,如果参数匹配给定的正则表达式,则匹配运算符 return 是一个布尔值 true/false。

在您的代码中,有一个带有两个参数的闭包 'matchRegExList'。一个是要匹配的字符串,另一个是正则表达式列表。该代码将每个正则表达式与您的字符串进行匹配,如果有任何匹配,它将 return 为真,否则为假。

代码片段

str ==~ /$regEx/

是Match运算符的用法。这将从您的正则表达式字符串创建一个模式,将其与您的字符串匹配,如果匹配或不匹配,return true 或 false。

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