在我的一个groovy课程中,我正在尝试使用模式匹配,但没有成功。
def TestMap = ['/test.domain.local/ig':'serverx']
nodeName = 'test.domain.local'
for (kv in TestMap){
if(nodeName != null && ("${nodeName}" =~ "${kv.key}")) {
println "${kv.value}";
}
}
但不知怎的,如果情况不是真的,我不明白为什么?请注意,这不是完整的代码。这里主要关注模式匹配。
提前感谢您的帮助。
答案 0 :(得分:1)
if条件应该颠倒(匹配以错误的方式完成)
def TestMap = [/test.domain.local/ig:'serverx']
nodeName = 'test.domain.local'
for (kv in TestMap){
if(nodeName != null && ( "${nodeName}" =~ "${kv.key}")){
println "${kv.value}";
}
}