正则表达式 – 如何在Groovy中匹配字符串与模式
发布时间:2020-12-14 05:37:59 所属栏目:百科 来源:网络整理
导读:我试图确定一个简单的正则表达式是否匹配Groovy中的字符串.这是我在gradle中的任务.我尝试在网上找到两种不同的方式,但它们都不起作用.它始终打印出“没有发现错误” task aaa { String stdoutStr = "bla bla errors found:nhehe Aborting nown hehe" prin
我试图确定一个简单的正则表达式是否匹配Groovy中的字符串.这是我在gradle中的任务.我尝试在网上找到两种不同的方式,但它们都不起作用.它始终打印出“没有发现错误”
task aaa << { String stdoutStr = "bla bla errors found:nhehe Aborting nown 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 nown hehe" ==~ /(?s).*errors.*/) ... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |