J'essaie de rendre mon code Scala un peu plus idiomatique. En ce moment, il ressemble à du code Java.Idiomatic regex matching dans Scala
Je suis en train de faire une simple fonction de correspondance des expressions rationnelles booléenne à Scala, car je ne peux pas sembler trouver dans la bibliothèque standard (?)
Je ne pense pas que le résultat est particulièrement agréable avec l'essai -catch et tout. En outre, une condition préalable est que 'patt' ait exactement un groupe, que je n'utilise pas vraiment pour quoi que ce soit. Toute entrée?
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
}
}
Utilisation:
scala> doesMatchRegEx("foo",".*(foo).*".r)
res36: Boolean = true
scala> doesMatchRegEx("bar",".*(foo).*".r)
res37: Boolean = false
Voir aussi « Comment vérifier si une chaîne correspond entièrement à Scala Regex un » http://stackoverflow.com/questions/3021813/how-to-check-whether-a-string-fully-matches-a-regex-in-scala. – mkneissl
Merci, c'est une belle discussion sur le sujet. – Grav