Reguläre Ausdrücke sind Muster, die es einem Bot ermöglichen, das Format von Benutzereingaben zu validieren – zum Beispiel, um sicherzustellen, dass die Eingabe eine Telefonnummer und nicht etwas anderes ist.

Für einen Vergleich mit einem regulären Ausdruck muss der Übereinstimmungstyp auf „RegEx-Übereinstimmung“ gesetzt werden.
Reguläre Ausdrücke sollten im Trigger selbst geschrieben werden, nicht in den Variablen, die für den Abgleich verwendet werden!
Beim Sammeln von Daten geben Benutzer oft etwas anderes ein, als wonach gefragt wird. Hier ist ein typischer Ablauf zur Validierung einer Telefonnummerneingabe. Wenn der Benutzer keine gültige Telefonnummer eingibt, fordert der Bot ihn auf, es erneut zu versuchen.

Der Eingabeblock für die Telefonnummer hat zwei ausgehende Verbindungen: eine ohne Trigger und die andere mit einem Trigger, der einen regulären Ausdruck verwendet, um eine Telefonnummer zu erkennen.
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$
Dieser Ablauf verwendet zwei Verbindungen zur Handhabung der Telefonnummernvalidierung:
-
Primäre Verbindung (gültige Nummer)
- Trigger: Eine korrekt formatierte Telefonnummer.
- Aktion: Fügt die Nummer zur Anwendung hinzu und fährt fort.
-
Fallback-Verbindung (ungültige Eingabe)
- Priorität: Niedriger als die primäre Verbindung.
- Trigger: Jede Eingabe, die keine gültige Telefonnummer ist.
- Aktion: Informiert den Benutzer über den Fehler und leitet ihn zur erneuten Eingabe weiter.
Dies stellt sicher, dass der Benutzer nur nach der Eingabe gültiger Daten fortfährt und gleichzeitig sofortiges Feedback zu etwaigen Fehlern erhält.
Eine Liste nützlicher regulärer Ausdrücke:
-
Numerische Eingabe nur Ziffern, beginnend mit 1:
^[1-9]+[0-9]*$ -
Numerische Eingabe nur Ziffern, beginnend mit 0:
^[0-9]+[0-9]*$ -
Kreditkartennummer:
[0-9]{13,16} -
Allgemeine Telefonnummer:
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$ -
Buchstaben und Zahlen (lateinisch):
^[a-zA-Z0-9]+$ -
Domain (z. B. abcd.com):
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$ -
URL (z. B. abcd.com):
(https?):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]* -
IPv4:
((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?) -
IPv6:
((^|:)([0-9a-fA-F]{0,4})){1,8}$ -
Benutzername (mit einer Begrenzung von 2-20 Zeichen, die Buchstaben und Zahlen sein können, das erste Zeichen muss ein Buchstabe sein):
^[a-zA-Z][a-zA-Z0-9-_\.]{1,20}$ -
Passwort (Klein- und Großbuchstaben des lateinischen Alphabets, Zahlen):
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$ -
Starkes Passwort (Großbuchstaben, Kleinbuchstaben, Zahlen/Sonderzeichen, mindestens 8 Zeichen):
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$ -
Datum im Format JJJJ-MM-TT:
[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])
AKTUALISIERT. Strengere Datumsvalidierung:
(19|20)\d\d-((0[1-9]|1[012])-(0[1-9]|[12]\d)|(0[13-9]|1[012])-30|(0[13578]|1[02])-31) -
Datum im Format TT/MM/JJJJ:
(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d -
Datum im Format TT.MM.JJJJ:
(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)\d\d -
Ganze Zahlen und Gleitkommazahlen (Punkt als Dezimaltrennzeichen)
\-?\d+(\.\d{0,})? -
UUID:
^[0-9A-Fa-f]{8}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{12}$ -
Breiten- oder Längengrad:
-?\d{1,3}\.\d+ -
AKTUALISIERT. E-Mail:
^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$ -
AKTUALISIERT. URL
~^(?:(?:https?|ftp|telnet)://(?:[a-z0-9_-]{1,32}(?::[a-z0-9_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}\.)+(?:ru|su|com|net|org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(?:/[a-z0-9.,_@%&?+=\~/-]*)?(?:#[^ '\"&]*)?$~i -
AKTUALISIERT. Uhrzeit im Format HH:MM:SS:
^([0-1]\d|2[0-3])(:[0-5]\d){2}$ -
AKTUALISIERT. Mac-Adresse:
([0-9a-fA-F]{2}([:-]|$)){6}$|([0-9a-fA-F]{4}([.]|$)){3}
Es gibt eine große Anzahl verfügbarer regulärer Ausdrücke. Wenn Sie den benötigten Ausdruck nicht in dieser Liste finden, ist es eine gute Idee, eine Suchmaschine zu verwenden.
Sie können reguläre Ausdrücke bequem auf Websites wie dieser testen: https://regex101.com/


