Ich bin mir darüber im Klaren, dass Reguläre Ausdrücke immer wieder zu mehr oder weniger blöden Fragen Anlass geben. Ich selbst setze Regexe seit "ewigen Zeiten" ein, habe aber für ein bestimmtes Problem keine Lösung.
Ich möchte mal fragen - vielleicht kennt jemand ja eine passende Lösung, oder vielleicht gibt es auch gar keine im Reich der ordinären regulären Ausdrücke, und man muss woanders suchen...
Das ist die 1. Zeile meiner generischen Klassendeklaration, für die ich eine Regex benötige:
Mit anderen Worten: Jemand könnte ohne weiteres ein Pair<Pair<X,Y>,Z> deklarieren. Ich möchte in jedem Fall diesen Wert in ASCII rausschreiben können (z.B. so: "Pair( Pair( \"test\", \"test\" ), 9 )"), möchte aber auch gerne einem Aufrufer mitteilen können, wie er den Wert herausparsen kann (will sagen: wie der Aufrufer ermitteln kann, wie groß der gesamte Ausdruck ist, wenn er ihn als Teil eines größeren Ganzen vorfindet). Der Aufrufer muss von Hause aus nicht wissen, wie z.B. dieses Pair aufgebaut ist.
Wie kann ich das mit Regexen tun? Wie kann ich es überhaupt tun?
Ich möchte mal fragen - vielleicht kennt jemand ja eine passende Lösung, oder vielleicht gibt es auch gar keine im Reich der ordinären regulären Ausdrücke, und man muss woanders suchen...
Das ist die 1. Zeile meiner generischen Klassendeklaration, für die ich eine Regex benötige:
Java:
public class Pair<A extends Comparable<A> & PubliclySerializable, B extends Comparable<B> & PubliclySerializable>
implements Comparable<Pair<A,B>>, PubliclySerializable
Mit anderen Worten: Jemand könnte ohne weiteres ein Pair<Pair<X,Y>,Z> deklarieren. Ich möchte in jedem Fall diesen Wert in ASCII rausschreiben können (z.B. so: "Pair( Pair( \"test\", \"test\" ), 9 )"), möchte aber auch gerne einem Aufrufer mitteilen können, wie er den Wert herausparsen kann (will sagen: wie der Aufrufer ermitteln kann, wie groß der gesamte Ausdruck ist, wenn er ihn als Teil eines größeren Ganzen vorfindet). Der Aufrufer muss von Hause aus nicht wissen, wie z.B. dieses Pair aufgebaut ist.
Wie kann ich das mit Regexen tun? Wie kann ich es überhaupt tun?