@@Richi:
nuqneH
Der Teil YZ?-\d{2} kann also auftreten oder nicht: X(?:YZ?-\d{2})?-\d{2}-\d{4}
Nein, YZ geht gar nicht.
Von „nur“ war auch nicht die Rede, sondern von „Teil“.
Am Anfang steht immer X, am Ende immer -\d{2}-\d{4}. Dazwischen kann YZ?-\d{2} stehen oder auch nicht.
Und wo wir bei Anfang und Ende sind; das hatte ich glatt vergessen. Der Anfang muss noch mit '^' markiert werden, das Ende mit '$' (sonst könnten ja noch Zeichen davor und danach stehen). Also: ^X(?:YZ?-\d{2})?-\d{2}-\d{4}$
Diese Variante verstehe ich bis auf das Fragezeichen.
Oh-oh. Eigne dir bitte die Grundlagen an, bspw. auf der http://de.selfhtml.org/perl/sprache/regexpr.htm@title=SELFHTML-Seite nach „Fragezeichen“ suchen.
Die [erste Variante] wiederum verstehe ich gar nicht.
Dann sollte auch die verständlich sein. Das Fragezeichen in '(?:' bedeutet einfach nur eine öffnende Klammer ohne Merken (was bei '(' ohne '?:' dahinter der Fall wäre).
Qapla'
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)