我正在尝试在switch
语句中进行一些模式匹配,似乎会自动添加开始/结束锚标记 -
String s = "abc";
switch(s){
case ~/b/:
....//doesn't trigger
break;
case ~/abc/:
....//does trigger
break;
}
无论如何我可以在不添加.*
的情况下让部分匹配工作吗?
答案 0 :(得分:3)
是的,交换机正在检查字符串的完整匹配。所以,你可以传递一个闭包。
switch(s) {
case { it =~ /b/ }:
// do something
break;
case ~/abc/:
// do something
break;
}