Scala正则表达式模式匹配不起作用

时间:2015-04-05 21:57:16

标签: regex scala pattern-matching

val login = "login user=(.*), token=(.*)".r

"login user=SapHana_dummy token=dummy" match {
  case login(user, token) =>
    println("success")
}

此代码始终抛出MatchError。而不是打印"成功"如预期。为什么呢?

1 个答案:

答案 0 :(得分:3)

因为您的模式需要逗号,所以:

login user=(.*), token=(.*)
               ^

输入文字中没有。

另外,为了尽量减少回溯,我在这里使用了一个不合理的量词:

login user=(.*?) token=(.*)