Scala 正则表达式模式匹配不起作用
Scala regex pattern matching doesn't work
val login = "login user=(.*), token=(.*)".r
"login user=SapHana_dummy token=dummy" match {
case login(user, token) =>
println("success")
}
此代码总是抛出 MatchError。而不是按预期打印 "success" 。为什么?
因为您的模式需要一个逗号,所以这里:
login user=(.*), token=(.*)
^
输入文本中没有。
另外,为了尽量减少回溯,我会在这里使用一个不贪婪的量词:
login user=(.*?) token=(.*)
val login = "login user=(.*), token=(.*)".r
"login user=SapHana_dummy token=dummy" match {
case login(user, token) =>
println("success")
}
此代码总是抛出 MatchError。而不是按预期打印 "success" 。为什么?
因为您的模式需要一个逗号,所以这里:
login user=(.*), token=(.*)
^
输入文本中没有。
另外,为了尽量减少回溯,我会在这里使用一个不贪婪的量词:
login user=(.*?) token=(.*)