我試圖讓我的Scala代碼更加地道。現在它看起來像Java代碼。Scala中的習慣性正則表達式匹配
我試圖做Scala中的一個簡單的布爾正則表達式匹配功能,因爲我似乎無法找到它的標準庫(?)
我不認爲結果是特別好的與試和所有。另外,一個先決條件是'patt'只有一個組,我並不真正使用它。任何輸入?
def doesMatchRegEx(subj:String, patt:scala.util.matching.Regex) = {
try{
val Match = patt
val Match(x) = subj
true
} catch {
// we didnt match and therefore got an error
case e:MatchError => false
}
}
用途:
scala> doesMatchRegEx("foo",".*(foo).*".r)
res36: Boolean = true
scala> doesMatchRegEx("bar",".*(foo).*".r)
res37: Boolean = false
參見「?如何檢查一個字符串是否完全匹配Scala中的一個正則表達式」 http://stackoverflow.com/questions/3021813/how-to-check-whether-a-string-fully-matches-a-regex-in-scala。 – mkneissl 2010-09-19 11:52:32
謝謝,這是一個很好的話題討論。 – Grav 2010-09-20 11:56:46