println( "TEST" ) -6ren">
gpt4 book ai didi

Scala 在正则表达式上直接匹配大小写

转载 作者:行者123 更新时间:2023-12-04 04:57:26 26 4
gpt4 key购买 nike

我正在尝试执行以下操作:

list.foreach {x => 
x match {
case """TEST: .*""" => println( "TEST" )
case """OXF.*""" => println("XXX")
case _ => println("NO MATCHING")
}
}

这个想法是像 groovy switch case regex match 一样使用它。但我似乎无法编译。在 Scala 中执行此操作的正确方法是什么?

最佳答案

您可以匹配预编译的正则表达式(如下面的第一种情况),也可以添加 if条款。请注意,您通常不想在每个 case 上重新编译相同的正则表达式。评估,而是将它放在一个对象上。

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 .

关于Scala 在正则表达式上直接匹配大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15696595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com