繁体   English   中英

在Scala中使用正则表达式进行模式匹配

[英]Pattern matching with regexes in Scala

为什么不起作用?

val isGovt = """Govt .*""".r
val Govt = "Govt 23 foobar"
Govt match {
    case isGovt(_) => println("match works")
    case _ => print("nope. doesn't work")
}

它打印'不。 不起作用”。 我究竟做错了什么?

更改

val isGovt = """Govt .*""".r

val isGovt = """(Govt .*)""".r

当使用正则表达式作为提取器时,绑定的变量对应于正则表达式的组。 您的正则表达式没有。

您也可以简单地保持正则表达式不变并执行以下操作:

case isGovt() =>

这可能更像是您想到的帽子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM