Hi,
ich hab mal wieder so ein extra spezial Problem, und zwar habe ich reguläre Ausdrücke, die aus einer XSD Datei kommen.
Ich muss jetzt Strings erzeugen die zu diesen regulären Ausdrücken passen, das löse ich mit Xeger.
Aber...... Das Problem ist, dass die regulären Ausdrücke manchmal nicht die einzige Beschränkung sind z.B. habe ich ein XML Element mit einem pattern von : [0-9]*, jetzt ist aber explizit noch festgelegt das es eine feste Länge von z.B. 30 haben muss.
Xeger erzeugt nun alles von []...[645]...[68441564] die Länge spielt ja für die Regex keine Rolle, meine erste Idee war die Regex zu manipulieren so das sie so Aussieht [0-9]30 z.B.
Aber ich habe auch kompliziertere Ausrücke wie: ([%&/(=*!)/§] | [......] | [......])*
Bei manchen Ausdrücken parse ich mir einen ab, bis ich die als Strings komplett zerlegt habe und wieder zusammengestückelt habe.
Gibt es zu dieser Metzgermethode eine schönere Lösung?? Am schönsten wäre natürlich so eine Klasse die Regex manipulieren kann z.b. die Gesamtlänge abändern etc.
Weiß da jemand was?
Vielen Dank schonmal
ich hab mal wieder so ein extra spezial Problem, und zwar habe ich reguläre Ausdrücke, die aus einer XSD Datei kommen.
Ich muss jetzt Strings erzeugen die zu diesen regulären Ausdrücken passen, das löse ich mit Xeger.
Aber...... Das Problem ist, dass die regulären Ausdrücke manchmal nicht die einzige Beschränkung sind z.B. habe ich ein XML Element mit einem pattern von : [0-9]*, jetzt ist aber explizit noch festgelegt das es eine feste Länge von z.B. 30 haben muss.
Xeger erzeugt nun alles von []...[645]...[68441564] die Länge spielt ja für die Regex keine Rolle, meine erste Idee war die Regex zu manipulieren so das sie so Aussieht [0-9]30 z.B.
Aber ich habe auch kompliziertere Ausrücke wie: ([%&/(=*!)/§] | [......] | [......])*
Bei manchen Ausdrücken parse ich mir einen ab, bis ich die als Strings komplett zerlegt habe und wieder zusammengestückelt habe.
Gibt es zu dieser Metzgermethode eine schönere Lösung?? Am schönsten wäre natürlich so eine Klasse die Regex manipulieren kann z.b. die Gesamtlänge abändern etc.
Weiß da jemand was?
Vielen Dank schonmal