直接在正则表达式上的Scala匹配案例
发布时间:2020-12-14 06:24:42 所属栏目:百科 来源:网络整理
导读:我想尝试做以下事情: list.foreach {x = x match { case """TEST: .*""" = println( "TEST" ) case """OXF.*""" = println("XXX") case _ = println("NO MATCHING") }} 这个想法是使用它像groovy switch case正则表达式匹配.但我似乎无法编译.什么是在scala
我想尝试做以下事情:
list.foreach {x => x match { case """TEST: .*""" => println( "TEST" ) case """OXF.*""" => println("XXX") case _ => println("NO MATCHING") } } 这个想法是使用它像groovy switch case正则表达式匹配.但我似乎无法编译.什么是在scala中正确的方法?
您可以匹配预编译的正则表达式(如下面的第一种情况),也可以添加if
条款.请注意,您通常不希望在每个案例评估中重新编译相同的正则表达式,而是将其放在对象上. val list = List("Not a match","TEST: yes","OXFORD") val testRegex = """TEST: .*""".r list.foreach { x => x match { case testRegex() => println( "TEST" ) case s if s.matches("""OXF.*""") => println("XXX") case _ => println("NO MATCHING") } } 查看更多信息here和一些背景here. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读