Soweit ich aus den Dokumenten sehen kann, sind nicht erfassende Gruppen durch (:?) Definiert, wie in Java. (Ich glaube, es ist die gleiche zugrunde liegende Bibliothek).Ist es möglich, nicht einfangende Gruppen in scala Regexes zu arbeiten, wenn Mustererkennung
Doch dies scheint nicht zu funktionieren:
var R = "a(:?b)c".r
R.findFirstMatchIn("abc").get.group(1)
returns "b" (wenn es sollte leer sein). Ich vermute, dies normalerweise kein Problem, aber wenn Mustervergleich zu tun, bedeutet es, dass ich jetzt nicht tun kann:
"abc" match {case R => println("ok");case _ => println("not ok")}
> not ok
ich zu tun habe:
"abc" match {case R(x) => println("ok");case _ => println("not ok")}
> ok
Gibt es eine Möglichkeit zu machen diese Arbeit "wie erwartet"?
Das ist toll - liebe den _ * Style. (Mit var und drop parens waren Fehler bei der Erstellung eines kanonischen Beispiels. Entschuldigung!) –