Regex Groovy模式匹配自动添加锚定标记?
我试图在一个Regex Groovy模式匹配自动添加锚定标记?,regex,groovy,switch-statement,Regex,Groovy,Switch Statement,我试图在一个switch语句中进行一些模式匹配,似乎开始/结束锚定标记正在自动添加- String s = "abc"; switch(s){ case ~/b/: ....//doesn't trigger break; case ~/abc/: ....//does trigger break; } 我是否可以在不添加*s的情况下使部分匹配生效?是的,开关正在检查字符串的完全匹配。所以,你可以给它传递一个闭包 switch(s) { case
switch
语句中进行一些模式匹配,似乎开始/结束锚定标记正在自动添加-
String s = "abc";
switch(s){
case ~/b/:
....//doesn't trigger
break;
case ~/abc/:
....//does trigger
break;
}
我是否可以在不添加
*
s的情况下使部分匹配生效?是的,开关正在检查字符串的完全匹配。所以,你可以给它传递一个闭包
switch(s) {
case { it =~ /b/ }:
// do something
break;
case ~/abc/:
// do something
break;
}
这有点傻。。。当
开关
评估模式匹配(==
)而不是字符串包含时,应与~/\wb\w/
或~/\w+b\w+//code>匹配。