Groovy模式匹配自动添加锚标签?

时间:2015-02-10 23:31:44

标签: regex groovy switch-statement

我正在尝试在switch语句中进行一些模式匹配,似乎会自动添加开始/结束锚标记 -

String s = "abc";

switch(s){
  case ~/b/:
    ....//doesn't trigger
    break;
  case ~/abc/:
    ....//does trigger
    break;
}

无论如何我可以在不添加.*的情况下让部分匹配工作吗?

1 个答案:

答案 0 :(得分:3)

是的,交换机正在检查字符串的完整匹配。所以,你可以传递一个闭包。

switch(s) {
  case { it =~ /b/ }:
    // do something
    break;
  case ~/abc/:
    // do something
    break;
}

Ideone Demo