如何在 Groovy 中将字符串与模式匹配

2024-03-18

我正在尝试确定一个简单的正则表达式是否与 Groovy 中的字符串匹配。这是我在 gradle 中的任务。我尝试用网上找到的两种不同的方法进行匹配,但都不起作用。它总是打印出“NO ERROR FOUND”

task aaa << {
    String stdoutStr = "bla bla errors found:\nhehe Aborting now\n hehe"
    println stdoutStr
    Pattern errorPattern = ~/error/
//  if (errorPattern.matcher(stdoutStr).matches()) {
    if (stdoutStr.matches(errorPattern)) {
        println "ERROR FOUND"
        throw new GradleException("Error in propel: " + stdoutStr)
    } else {
        println "NO ERROR FOUND"
    }
}

(?s)忽略换行符.*(DOTALL) 和那里的正则表达式意味着完全匹配。所以与==~作为快捷方式,它是:

if ("bla bla errors found:\nhehe Aborting now\n hehe" ==~ /(?s).*errors.*/) ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Groovy 中将字符串与模式匹配 的相关文章

随机推荐