Regex mit mehreren Bedingungen machen

Xalo

Mitglied
Hallo Leute, ich habe eine Frage zu RegEx aber finde die passende Antwort nicht. Wie erstelle ich einen RegEx, bei denen ich mehrere Bedingungen habe? Also wie würde man die Bedingungen trennen um es genauer zu fragen?
Ich lerne gerade für meine Klausur morgen mit einer Probeklausur und in dieser war folgende Aufgabe.

Gruppennummer-Verlagsnummer-Titelnummer-Prüfziffer

die einzelnen Teile durch einen Bindestrich getrennt sind,
(2) die Gruppennummer stets die 3 ist,
(3) die Verlagsnummer mindestens 2 und maximal 7 Stellen hat,
(4) die Titelnummer mindestens eine und maximal 6 Stellen hat, und
(5) die Verlagsnummer und die Titelnummer zusammen 8 Stellen haben,
(6) die Prüfziffer entweder 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 oder X ist.

Beispiele: 3-680-08783-7 oder 3-49913-599-X.
Das sind ja 6 verschiedene Bedingungen. Nur hab ich keine Ahnung, wie ich die alle in einem RegEx machen kann, um die Bedingungen zu trennen.

Viele Grüße und danke schonmal für die Hilfe
 
Naja, durch einfache Zeichenkonkatenation bzw. Hintereinanderschreiben? Du brichst deine Nummer ja in 6 logische Bereiche auf.
Das ist genauso als würde ich sagen: Ich habe eine ID, die aus einem A-Z Buchstaben und einer 0-9 Ziffer besteht. Und zwischen beiden soll ein Bindestrich sein. Dann wäre mein RegEx dafür: [A-Z]-[0-9]
 
Schwieriger wird es allerdings bei der Bedingung, dass die Verlagsnummer und die Titelnummer zusammen genau 8 Stellen haben sollen. Hier musst du mit dem Alternativenoperator "|" arbeiten, da man sich in einem Regex-Pattern nicht auf die "Anzahl" von matchenden Ziffern eines vorherigen Patterns beziehen kann.
 
Naja, durch einfache Zeichenkonkatenation bzw. Hintereinanderschreiben? Du brichst deine Nummer ja in 6 logische Bereiche auf.
Das ist genauso als würde ich sagen: Ich habe eine ID, die aus einem A-Z Buchstaben und einer 0-9 Ziffer besteht. Und zwischen beiden soll ein Bindestrich sein. Dann wäre mein RegEx dafür: [A-Z]-[0-9]
Ahh Super also trenne ich meine Bedingungen mit [] ab sozusagen oder?
 

Zurück
Oben