SQL Academy
Premium
Funktionsreferenz

REGEXP_LIKE

Prüft, ob ein String zu einem regulären Ausdruck passt.

MySQL 8.1
REGEXP_LIKE(expr, pattern[, match_type])

Parameter

exprVARCHAR
Zu prüfender String
patternVARCHAR
Regulärer Ausdruck
match_typeVARCHARoptional
Flags, zum Beispiel c für die Beachtung von Groß- und Kleinschreibung

Rückgabewert

1 bei einem Treffer, sonst 0; NULL, wenn expr oder pattern NULL ist

Beispiele

Prüfung ohne und mit Groß- und Kleinschreibung

MySQL 8.1
SELECT REGEXP_LIKE('Anna', '^an') AS ignore_case,
	REGEXP_LIKE('Anna', '^an', 'c') AS match_case;
ignore_casematch_case
10

E-Mail bei Hotmail oder Outlook

MySQL 8.1
SELECT name,
	email
FROM Users
WHERE REGEXP_LIKE(email, '@(hotmail|outlook)[.]com$');
nameemail
Bruce Willisbarjam@hotmail.com
Jennifer Lopezbarjam@hotmail.com
Samuel L. Jacksonmoonlapse@outlook.com
Harrison Fordkostas@hotmail.com
Steve Martinnelson@outlook.com
Michael Douglastimtroyr@hotmail.com
Catherine Zeta-Jonesflakeg@hotmail.com

Details

Der Treffer wird an beliebiger Stelle im String gesucht. Um den ganzen String zu prüfen, beginne den Ausdruck mit ^ und beende ihn mit $. Ob Groß- und Kleinschreibung beachtet wird, hängt standardmäßig von der Kollation des Strings ab; in den Übungsdatenbanken wird sie ignoriert.

Die Flags in match_type lassen sich kombinieren; bei Widersprüchen gilt das letzte:

FlagBeschreibung
cGroß- und Kleinschreibung beachten
iGroß- und Kleinschreibung ignorieren
mMehrzeilenmodus: ^ und $ passen zu Anfang und Ende jeder Textzeile
nDer Punkt . passt auch zu einem Zeilenumbruch
uNur \n gilt als Zeilenende

Siehe auch