小编gbg*_*gnv的帖子

Scala正则表达式(由双引号分隔的字符串)

我是斯卡拉的新手.我试图匹配由双引号分隔的字符串,我有点困惑于以下行为:

如果我执行以下操作:

val stringRegex = """"([^"]*)"(.*$)"""
val regex = stringRegex.r
val tidyTokens = Array[String]("1", "\"test\"", "'c'", "-23.3")
tidyTokens.foreach {
    token => if (token.matches (stringRegex)) println (token + " matches!")
}
Run Code Online (Sandbox Code Playgroud)

我明白了

"test" matches!
Run Code Online (Sandbox Code Playgroud)

否则,如果我执行以下操作:

tidyTokens.foreach {
    token => token match {
        case regex(token) => println (token + " matches!")
        case _ => println ("No match for token " + token)
    }
}
Run Code Online (Sandbox Code Playgroud)

我明白了

No match for token 1
No match for token "test"
No match for token 'c'
No match …
Run Code Online (Sandbox Code Playgroud)

regex scala double-quotes

7
推荐指数
1
解决办法
3664
查看次数

标签 统计

double-quotes ×1

regex ×1

scala ×1