【发布时间】:2010-09-18 16:21:16
【问题描述】:
我正试图让我的 Scala 代码更加地道。现在它看起来就像 Java 代码。
我正在尝试在 Scala 中做一个简单的布尔正则表达式匹配函数,因为我似乎无法在标准库中找到它(?)
我不认为使用 try-catch 和 all 的结果特别好。此外,前提条件是“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 中的正则表达式?” stackoverflow.com/questions/3021813/….
-
谢谢,这个话题的讨论很好。