Groovy 模式匹配自动添加锚标签?
Groovy pattern matching automatically adding anchor tags?
我正在尝试在 switch
语句中进行一些模式匹配,似乎会自动添加 start/end 锚标记 -
String s = "abc";
switch(s){
case ~/b/:
....//doesn't trigger
break;
case ~/abc/:
....//does trigger
break;
}
有没有办法在不添加 .*
的情况下使部分匹配工作?
是的,switch 正在检查字符串是否完全匹配。所以,你可以给它传递一个闭包。
switch(s) {
case { it =~ /b/ }:
// do something
break;
case ~/abc/:
// do something
break;
}
我正在尝试在 switch
语句中进行一些模式匹配,似乎会自动添加 start/end 锚标记 -
String s = "abc";
switch(s){
case ~/b/:
....//doesn't trigger
break;
case ~/abc/:
....//does trigger
break;
}
有没有办法在不添加 .*
的情况下使部分匹配工作?
是的,switch 正在检查字符串是否完全匹配。所以,你可以给它传递一个闭包。
switch(s) {
case { it =~ /b/ }:
// do something
break;
case ~/abc/:
// do something
break;
}