- Qué son las expresiones regulares o RegEx
- Usar rangos de letras o números
- Validar direcciones de correo electrónico
- El carácter _ (guion bajo)
Hasta ahora aprendiste a buscar texto con LIKE e ILIKE. Pero a veces necesitamos patrones más precisos, por ejemplo, buscar nombres que empiecen con A o B.
Para eso existe una herramienta más avanzada: las expresiones regulares.
Qué son las expresiones regulares o RegEx
SIMILAR TO.
Por ejemplo, para mostrar a los usuarios cuyos nombres empiezan con A o B:
SELECT id, first_name, last_name, email
FROM users
WHERE first_name SIMILAR TO '[AB]%';
🔵 Abrir en DB Fiddle
[AB] indica “una A o una B”. El símbolo % (que ya conoces de LIKE) reemplaza el resto de la palabra. Esta consulta mostrará nombres como Abigale, Andy, Brayan, etc.
Usar rangos de letras o números
Dentro de los corchetes [], puedes usar el guion - para definir rangos. Por ejemplo:
[a-z]— cualquier letra minúscula.[0-9]— cualquier número.
📍 Usuarios cuyo nombre de usuario termina en una letra:
SELECT id, username, email
FROM users
WHERE username SIMILAR TO '%[a-z]';
🔵 Abrir en DB Fiddle
📍 Usuarios cuyo nombre de usuario termina en un número:
SELECT id, username, email
FROM users
WHERE username SIMILAR TO '%[0-9]';
Para seleccionar todos los números, usamos el patrón [0-9]:
🔵 Abriren DB Fiddle
Validar direcciones de correo electrónico
Podemos usar patrones más complejos. Por ejemplo, un correo correcto debe tener: texto + @ + texto + . + texto. Podemos verificarlo así:
SELECT username, email
FROM users
WHERE email SIMILAR TO '%@%.%';
🔵 Abrir en DB Fiddle
💡 Si queremos detectar errores en los correos, usamos NOT SIMILAR TO:
SELECT username, email
FROM users
WHERE email NOT SIMILAR TO '%@%.%';
🔵 Abrir en DB Fiddle
El carácter _ (guion bajo)
El guion bajo _ reemplaza exactamente un carácter.
📍 Correos cuya terminación tiene dos letras (como .la o .io):
SELECT username, email
FROM users
WHERE email SIMILAR TO '%.__';
🔵 Abrir en DB Fiddle
📍Correos con tres letras (como .com):
SELECT username, email
FROM users
WHERE email SIMILAR TO '%.___';
🔵 Abriren DB Fiddle
Resumen
SIMILAR TOpermite buscar usando expresiones regulares.[]define un conjunto de caracteres ([AB],[a-z],[0-9]).-dentro de corchetes indica un rango.%reemplaza cualquier cantidad de caracteres._reemplaza exactamente uno.NOT SIMILAR TOexcluye coincidencias.
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.