Я пытаюсь сделать свой код Scala более идиоматичным.Прямо сейчас это выглядит как код Java.
Я пытаюсь сделать простую функцию сопоставления с логическим регулярным выражением в Scala, так как не могу найти ее в стандартной библиотеке (?)
Я не думаю, что результат будет особенно приятным с try-catch и все.Также предварительным условием является то, что у '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