Wesentliche Teile dieses Textes wurden uns freundlicherweise von der Firma CODES / webalytics e.K. zur Verfügung gestellt. Als weitere Quelle diente der Artikel "Regulärer Ausdruck" in der deutschsprachigen Wikipedia. Hier finden sich auch Links auf weitere Seiten im Internet, die beim Formulieren regulärer Ausdrücke helfen.
Reguläre Ausdrücke werden von cobra unter anderem für Anzeigeformate von Feldern benutzt und in der Datenbankstruktur hinterlegt. Um ein solches Anzeigeformat zu definieren, müssen Sie sich also regulärer Ausdrücke bedienen, mit denen Sie spezielle Zeichenketten definieren. Ziel ist es, Benutzer an Fehleingaben zu hindern und etwa zur – zumindest syntaktisch korrekten – Eingabe einer E-Mail-Adresse zu zwingen.
Ein solcher Ausdruck (wie er in der Abbildung im oberen Feld zu sehen ist) wird aus beliebig vielen Ziffern und Buchstaben in Kombination mit folgenden Metazeichen gebildet:
In regulären Ausdrücken werden Groß- und Kleinschreibung unterschieden.
Exakte Übereinstimmung
Zeichen, die genau übereinstimmen müssen, werden auch direkt notiert. So erlaubt der Eintrag Blumen nur die Eingabe Blumen.
Platzhalter
Der Punkt steht als Platzhalter für ein einzelnes beliebiges Zeichen. Der reguläre Ausdruck Akt ., Szene 3 steht für Eingaben wie Akt 1, Szene 3 oder Akt 2, Szene 3 oder Akt Z, Szene 3, nicht aber für Akt 10, Szene 3 oder Akt ZZ, Szene 3 [hierfür müssten zwei Punkte »..« als Platzhalter gesetzt werden].
Soll ein Metazeichen buchstäblich benutzt werden, der Punkt also nicht als Platzhalter, sondern als Punkt dienen, muss ein Backslash vorangestellt werden. z.B. Blumen ließe Eingaben wie zuBi Blumen usf. zu, z\.B\. Blumen steht hingegen eindeutig für z.B. Blumen.
Zeichenbereiche
[]
Mit eckigen Klammern wird ein Zeichenbereich definiert.
[aky]
Erlaubt die Eingabe eines der drei Zeichen a, k, y, aber keines anderen Zeichens. Der Ausdruck in eckigen Klammern steht damit für genau ein Zeichen aus diesem Bereich.
[-]
Der Bindestrich definiert Von-Bis-Bereiche. Marktplatz [0-9] erlaubt die Eingabe von Marktplatz 1, Marktplatz 3, Marktplatz 4 etc., nicht aber von Marktplatz 12 oder Marktplatz 9A.
^
Das Caret-Zeichen entspricht einer Verneinung. Marktplatz [^0-3] erlaubt Eingaben wie Marktplatz 4 oder Marktplatz 7, nicht aber Marktplatz 1, Marktplatz 2 oder Marktplatz 3.
[A-Za-z0-9]
Erlaubt die Eingabe eines beliebigen lateinischen Groß- oder Kleinbuchstabens oder einer beliebigen Ziffer.
[a-z,-]
Erlaubt die Eingabe von Kleinbuchstaben, des Kommas sowie des Bindestrichs.
Quantoren
?
Das Fragezeichen entspricht der Anzahl 0 oder 1 des vorhergehenden Zeichens. 17 und 4? erlaubt die Zeichenfolgen 17 und sowie 17 und 4, aber keine anderen. Es kann also nur die 4 oder an ihrer Stelle nichts eingegeben werden.
+
Der voranstehende Ausdruck muss mindestens einmal, darf aber auch mehrfach vorkommen. 17 und 4+ entspricht also 17 und 4, 17 und 44, 17 und 44444 usw. [a-zA-Z0-9]+ erlaubt die Eingabe beliebig vieler Buchstaben und Ziffern in beliebiger Reihenfolge. Nicht eingegeben werden können dann allerdings z.B. Leerzeichen, Bindestriche etc. Eingaben wie Haus9876 sind damit ebenso möglich wie 3Windows4U. [a-zA-Z0-9._%-]+ erlaubt eine beliebig lange Zeichenfolge, die außer den eben genannten Zeichen auch Punkte, Unterstriche, Prozentzeichen sowie Bindestriche, nicht aber Kommas, Doppelpunkte usw. enthalten darf [a-zA-Z0-9._%-]+@ definiert den vorderen Teil einer E-Mail-Adresse: bernd.schlegel@ oder cobra_info@.
*
Das Sternchen entspricht der Anzahl 0, 1 oder höher des unmittelbar davorstehenden Zeichens. 17 und 4* entspricht also 17 und, 17 und 4, 17 und 44444 usf. Der Unterschied zum Plus-Zeichen liegt darin, dass das vorhergehende Zeichen auch gar nicht vorkommen darf. [A-Za-z0-9]* heißt, dass beliebig viele Groß- und Kleinbuchstaben hintereinander eingegeben werden dürfen.
{n}
Der voranstehende Ausdruck muss exakt n-mal vorkommen. 4{2} entspricht ausschließlich der exakten Zeichenfolge 44 und keiner anderen Zeichenfolge.
{min,}
Der voranstehende Ausdruck muss mindestens min-mal vorkommen. 4{3,} bewirkt, dass die 4 mindestens dreimal eingegeben werden muss.
{min,max}
Der voranstehende Ausdruck muss mindestens min-mal und darf maximal max-mal vorkommen. 4{3,8} bewirkt, dass die 4 mindestens dreimal und höchstens achtmal eingegeben werden muss. [0-9]{2,5} fordert zwei, drei, vier oder fünf Ziffern in Folge, z.B. 42 oder 33942, nicht aber Zeichenfolgen wie 0, 1.1 oder a1a1.
{0,max}
Der voranstehende Ausdruck darf maximal max-mal vorkommen. 4{0,8} bewirkt, dass die 4 mindestens nullmal und höchstens achtmal eingegeben werden muss.
Gruppierung
()
Die runden Klammern kennzeichnen eine Gruppierung. ([bB]lumen) erlaubt die Eingaben blumen und Blumen.
Alternativen
´|´
Dieses Symbol trennt Alternativen voneinander. ´Mittwoch|Donnerstag´ erlaubt die Eingabe Mittwoch oder die Eingabe Donnerstag.
Vordefinierte Zeichenklassen
\d
Digit, eine Ziffer [0-9]. \d\d\d\d erzwingt die Eingabe von vier Ziffern, also etwa 1985, 2011 usw.
\D
No digit, ein Zeichen, das keine Ziffer ist, entspricht also [^\d] oder [^0-9].
\w
Wordcharacter, ein Buchstabe, eine Ziffer oder der Unterstrich, entspricht also [a-zA-Z_0-9_]. \w* erlaubt die Eingabe beliebig vieler Ziffern, Groß- und Kleinbuchstaben sowie Unterstriche.
\W
No wordcharacter ein Zeichen, das weder Buchstabe noch Zahl noch Unterstrich ist, entspricht also [^\w] oder [^a-zA-Z0-9_]. Es können Zeichen wie Komma, Punkt oder Bindestrich eingegeben werden.
\s
Whitespace, das Leerzeichen.
\S
No whitespace, ein Zeichen, das kein Whitespace ist, alle Zeichen außer dem Leerzeichen also.