2014-03-12 35 views
2
val pass = "123 Enter right number from (10,5,3,3,200,6)" 
val pattern = """\d+,\d+,\d+,\d+,\d+,\d+""".r 
val pp = pattern.findfirstIn(pass) 
println(pp) 

是的,我得到了它提取出來作爲是我的scala正則表達式模式是否正確表示?

10,5,3,3,200,6 

這正是我需要的

我的問題是,這是

val pattern = """\d+,\d+,\d+,\d+,\d+,\d+""".r 

表示正則表達式正確的方法... 。?

回答

3

是的,當然。但是,如果您通過捕獲組來增強您的模式,則可以使用Scala的模式匹配來做一些非常酷的事情:

val pattern = """.*?(\d+),(\d+),(\d+),(\d+),(\d+),(\d+).*?""".r 
val pattern(d0, d1, d2, d3, d4, d5) = pass