Anhang F. Beschreibung der MySQL-Syntax für reguläre Ausdrücke

Ein regulärer Ausdruck (regex) ist eine mächtige Möglichkeit, eine komplexe Suche zu formulieren.

MySQL benutzt Henry Spencers Implementation regulärer Ausdrücke, die anstrebt, POSIX-1003.2-konform zu sein. MySQL benutzt die erweiterte Version.

Die vorliegende vereinfachte Referenz überspringt die Details. Um genauere Informationen zu erhalten, sehen Sie sich Henry Spencers regex(7)-Handbuchseite an, die in der Quelldistribution enthalten ist. See Anhang B, Danksagungen.

Ein regulärer Ausdruck beschreibt einen Satz von Zeichenketten. Der einfachste regexp ist einer, der keine Sonderzeichen enthält. Der regexp hello beispielsweise stimmt mit hello und sonst nichts überein.

Nicht triviale reguläre Ausdrücke benutzen bestimmte spezielle Konstrukte, so dass sie mit mehr als einer Zeichenkette übereinstimmen können. Der regexp hallo|stefan beispielsweise stimmt entweder mit der Zeichenkette hallo oder der Zeichenkette stefan überein.

Um ein komplexeres Beispiel zu geben, stimmt der regexp B[an]*s mit jeder der Zeichenketten Bananas, Baaaaas, Bs und jeder anderen Zeichenkette überein, die mit einem B anfängt, mit einem s aufhört und jede beliebige Anzahl von a- oder n-Zeichen dazwischen enthält.

Ein regulärer Ausdruck kann jedes der folgenden Sonderzeichen bzw. Konstrukte benutzen (0 = keine Übereinstimmung):

mysql> select "weeknights" REGEXP "^(wee|week)(knights|nights)$"; -> 1

This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.