我有兩個正則表達式doubleRegex
和intRegex
定義如下:出了什麼問題斯卡拉正則表達式的情況下比賽?
scala> val doubleRegex = """^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$""".r
doubleRegex: scala.util.matching.Regex = ^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$
scala> val intRegex = """^[-+]?[0-9]*$""".r
intRegex: scala.util.matching.Regex = ^[-+]?[0-9]*$
現在我想匹配一串字符串,以檢測其類型:
scala> List(".01", "11", "1.34").map{ s =>
s match {
case intRegex() => "INT"
case doubleRegex() => "DOUBLE"
case _ => "NONE"
}
}
res5: List[String] = List(NONE, INT, NONE)
爲何不打印List(DOUBLE, INT, DOUBLE)
?
使用'情況intRegex(_ *)=> 「INT」'和'情況doubleRegex(_ *)=> 「DOUBLE」'。 –