簡體   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