Topic: Wie man reguläre Ausdrücke verwendet  (Read 8053 times)

Bei einigen Funktionen von ConfTool können Sie „reguläre Ausdrücke“ definieren, um die Dateneingabe von Benutzern zu überprüfen. Diese „regulären Ausdrücke“ können verwendet werden, um Registrierungscodes für Teilnehmergruppen (Status), Registrierungscodes für einzelne Veranstaltungen / Artikel und Einreichungscodes für Beitragstypen / Tracks zu überprüfen.

Diesen Eintrag bieten wir auch auf Englisch

Auf dieser Seite finden Sie eine Übersicht, wie Sie die regulären Ausdrücke definieren können. Obgleich regelmäßige Ausdrücke sehr leistungsfähig sind und dabei komplex sein können, ist deren Erstellung für den Gebrauch in ConfTool in den meisten Fällen sehr einfach.

Steuerzeichen
Viele Symbole wie z. B. ^, $,/, +? ,  [ ] und * sind Steuerzeichen (auch Steuerkodes genannt) und haben eine spezielle Funktion. Wenn Sie sie in Ihrem Code benutzen möchten, müssen Sie das Maskierungszeichen"\" vor dem Symbol hinzufügen. Andernfalls versucht das System, das Symbol als Steuerzeichen zu verarbeiten. Vermeiden Sie am besten die Verwendung von Steuerzeichen, wenn Sie Ihre Codes definieren. Mit dem Einsatz von einfachen Buchstaben und Zeichen von A bis Z und 0 bis 9 lassen sich viele Probleme im Vorfeld bereits ausschließen.

Grundlegender Einsatz von Steuerzeichen
Falls Sie eine einfache Zeichenabfolge in das Feld für den Code einfügen, in dem der reguläre Ausdruck definiert wird, werden bei der Eingabe alle Zeichenketten akzeptiert, die diesen Code mit einschließen. Bitte beachten Sie, dass bei den Codes zwischen Groß- und Kleinschreibung unterschieden wird: "a" und "A" sind zwei unterschiedliche Zeichen.

Wenn Sie sicherstellen wollen, dass die Zeichenfolge mit Ihrem Code beginnt, setzen Sie das Symbol "^" an den Anfang.
Beispiel: "^ABC" wird alle Zeichenfolgen akzeptieren, die mit "ABC" beginnen.

Wenn Sie sicherstellen wollen, dass die Zeichenfolge mit Ihrem Code endet, setzen Sie das Symbol "^" an das Ende.
Beispiel: "XYZ$" wird alle Zeichenfolgen akzeptieren, die mit "XYZ" enden.

Wenn Sie nur Zeichenketten erlauben möchten, die genau Ihren Code entsprechen, setzen Sie das Symbol "^" an den Anfang und das Symbol "$" an das Ende.
Beispiel: "^GEHEIM$" nimmt nur die Zeichenkette "GEHEIM" an.

Platzhalter
Das Symbol "." steht für ein beliebiges einzelnes Zeichen. Wenn Sie es in Ihrem Code verwenden, wird jeder beliebige Buchstabe, den der Autor/die Teilnehmerin eingibt, angenommen.
Beispiel: "AB.YZ" wird jede mögliche Zeichenkette mit "ABAYZ", "ABaYZ" oder "AB0YZ" usw. akzeptieren.

Der Code [a-z] steht für einen beliebigen Buchstaben von a-z, [A-Z] ebenso, aber in Großbuchstaben,  und [0-9] für eine beliebige Zahl. Sie können ebenfalls Unterabschnitte daraus verwenden, wie z.B. "[a-c]", um nur Buchstaben von "a" bis "c" zu erlauben.

Gruppierung: Reihenfolgen von Zeichen
Durch die Verwendung der runden Klammern "(" und ")" kann man Reihenfolgen von Zeichen definieren, die zusammengehören. Dies kann besonders nützlich im Zusammenhang für den Einsatz von Codes sein, bei denen sich Reihenfolgen wiederholen (siehe unten).

Logischer Operator "ODER"
Darüber hinaus können Sie das "|" Symbol als einen ODER-Operator einsetzen.
Beispiel: "(ABC| XYZ)"wird die Zeichenkette"ABC"oder"XYZ"akzeptieren

Quantifizierung: Wiederholung von Zeichen oder Reihenfolgen
Es gibt mehrere Codes mit denen man definieren kann, ob ein Zeichen oder eine Reihenfolge von Zeichen, die vor dem Code steht, ein- oder mehrmals wiederholt wird.

Das Symbol "*" erlaubt eine beliebige Anzahl von Wiederholungen eines Zeichens (oder von Reihenfolgen).
Beispiel: "ABC*" wird die Zeichenfolge "AB" zusammen mit einer beliebige Anzahl von "C"s (0 bis unbegrenzt) danach erlauben.

Das "+" ist ähnlich wie "*", aber es ist mindestens ein Zeichen (oder eine Reihenfolge) erforderlich.
Beispiel: "ABC+" wird die Zeichenfolge "ABC" zusammen mit einer beliebigen Anzahl von "C"s (1 bis unbegrenzt) danach erlauben.

Das Symbol "?" bedeutet ein einmaliges Vorkommen des letzten Zeichens (der letzten Reihenfolge) oder gar kein Vorkommen.
Beispiel: "ABC?" wird die Zeichenfolge "AB" oder "ABC" akzeptieren.

{1,5} definiert 1- bis 5-maliges Vorkommen des Zeichens oder der Reihenfolge vor diesem Code,
{5,} steht für mindestens 5-maliges Vorkommen,
{, 5} steht für maximal 5-maliges Vorkommen und
{5} steht für exakt 5-maliges Vorkommen.
Beispiel: "ABC{3,5}" akzeptiert jede mögliche Zeichenkette, die mit "AB" beginnt und dann von mindestens 3 "C"s und nicht mehr als 5 "C"s abgeschlossen wird.

Sie können diese Codes auch mit Reihenfolgen wie "(ABC)" oder "[A-Z]" verwenden.
Beispiel: "[A-Z]{5,}" wird jede mögliche Zeichenkette akzeptieren, die mindestens 5 Buchstaben lang ist und aus den Buchstaben A-Z besteht.

Wenn Sie beliebige Zeichen vor oder nach Ihrer Codes nicht zulassen möchten, fügen Sie bitte "^" und "$" hinzu.
Beispiel: "^ABC [0-9] {1,5}$" steht für eine beliebige Zeichenfolge, die mit ABC beginnt, gefolgt von 1 bis 5 beliebigen Nummern.

Mit den folgenden Tools können Sie Ihre regulären Ausdrücke recht einfach testen:
https://regex101.com/
https://regexr.com/
https://www.freeformatter.com/regex-tester.html

Mehr Informationen zu regulären Ausdrücken erhalten Sie unter:
https://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck
https://danielfett.de/de/tutorials/tutorial-regulare-ausdrucke/
https://wiki.selfhtml.org/wiki/Perl/Regul%C3%A4re_Ausdr%C3%BCcke
http://www.sttmedia.de/regulaere-ausdruecke