Referencia de funciones

REGEXP_LIKE

Comprueba si una cadena coincide con una expresión regular.

MySQL 8.4
REGEXP_LIKE(expr, pattern[, match_type])
  • [ ]parte opcional
expr
Cadena que se comprueba
VARCHAR
pattern
Expresión regular
VARCHAR
match_type
Indicadores de coincidencia; se pueden combinar
VARCHAROpcional
cimnu

Valor devuelto

1 si hay coincidencia; si no, 0; NULL si expr o pattern es NULL

Ejemplos

Comprobación sin y con distinción de mayúsculas

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

Correo de Hotmail u Outlook

MySQL 8.4
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

Detalles

La coincidencia se busca en cualquier parte de la cadena. Para comprobar la cadena entera, empieza la expresión con ^ y termínala con $. Que se distingan o no mayúsculas y minúsculas depende por defecto de la intercalación de la cadena; en las bases de datos de práctica no se distinguen.

Los indicadores de match_type se pueden combinar; si se contradicen, vale el último:

IndicadorDescripción
cDistinguir mayúsculas y minúsculas
iNo distinguir mayúsculas y minúsculas
mModo multilínea: ^ y $ coinciden con el inicio y el final de cada línea del texto
nEl punto . también coincide con un salto de línea
uSolo \n se considera final de línea

Véase también