【问题标题】:Can you please explain this Groovy Script你能解释一下这个 Groovy 脚本吗
【发布时间】:2015-11-27 13:44:29
【问题描述】:

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


    【解决方案1】:

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

    ~ 模式运算符

    =~ 查找运算符

    ==~ 匹配运算符

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

    在您的代码中,有一个带有两个参数的闭包“matchRegExList”。一个是要匹配的字符串,另一个是正则表达式列表。该代码将每个正则表达式与您的字符串匹配,如果匹配,它将返回 true,否则返回 false。

    代码sn-p

    str ==~ /$regEx/
    

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 2021-04-22
    • 2011-01-21
    相关资源
    最近更新 更多