Validación de emails con regex
Clase 16 de 29 • Curso de Expresiones Regulares
Contenido del curso
El lenguaje: caracteres, operadores, y construcciones
- 5

El punto en regex: selecciona cualquier carácter
09:55 min - 6

\d \w \s: las 3 clases que localizan todo
13:55 min - 7

Cuantificadores regex: *, + y ? en acción
17:42 min - 8

Contadores en expresiones regulares
14:02 min - 9

Greedy vs lazy en regex: cuándo usar cada uno
07:47 min - 10

Negaciones con gorrito en expresiones regulares
06:49 min - 11

Cómo detectar números telefónicos sin letras
01:06 min - 12

Cómo procesar archivos CSV con millones de líneas
08:00 min
Uso práctico de Expresiones Regulares
- 13

Filtrar logs gigantes con expresiones regulares
07:22 min - 14

Expresiones regulares para URLs HTTP
08:07 min - 15

Regex para validar teléfonos con separadores y extensiones
12:30 min - 16

Validación de emails con regex
Viendo ahora - 17

Validación de coordenadas GPS con regex
17:16 min - 18

Validar nombres propios con regex
03:21 min
Usos avanzados en Expresiones Regulares
Expresiones Regulares en lenguajes de programación
- 20

Cómo extraer variables de URLs con regex
10:48 min - 21

Regex en múltiples lenguajes con CSV real
03:29 min - 22

Perl: CSV de fútbol en cero segundos
23:35 min - 23

Expresiones regulares en PHP: preg_match con CSV
09:29 min - 24

Extraer empates de archivos masivos con PHP
16:25 min - 25

Python regex para análisis de archivos CSV
21:58 min - 26

Lectura de archivos con BufferedReader en Java
07:59 min - 27

Escapar regex en Java: doble barra
08:48 min - 28

Validación de emails en JavaScript con regex
17:35 min - 29

Grep: filtra archivos masivos con regex
08:18 min
Validar correos electrónicos con expresiones regulares es una habilidad clave para reducir errores de input. Aquí se explica, con claridad y sin adornos, cómo separar usuario y dominio, cómo tratar el TLD y cómo evitar trampas de cuantificadores lazy y greedy. Además, se señalan variaciones entre lenguajes y prácticas de pruebas para que tu validación sea confiable y rápida.
¿Cómo validar un email con expresiones regulares sin caer en falsos positivos?
Un correo se compone de dos partes: usuario y dominio. La estrategia es definir cada parte con reglas claras y comprobables, evitando validaciones externas innecesarias. Así minimizas errores, aceleras el feedback y simplificas el código.
¿Qué reglas usa el usuario del correo?
- El usuario termina justo antes de la arroba y la arroba es obligatoria.
- Se permiten caracteres de clase palabra (letras y dígitos del ASCII) y, según el caso, punto y guion bajo. Gmail permite puntos y no guion bajo; Hotmail y Yahoo permiten guion bajo y no puntos.
- Longitud recomendada: entre 5 y 30 caracteres. Ajusta según tus necesidades.
- Los alias de Gmail usan el símbolo «+» (escapado en la regex) con una extensión opcional de 0 a 10 caracteres. Todo lo que va después del «+» llega al mismo buzón.
- Adapta estas reglas por proveedor si necesitas comportamientos específicos.
¿Cómo capturar el dominio y el TLD correctamente?
- El dominio inicia con «@» y contiene una palabra. Longitud mínima sugerida: 3 caracteres.
- Exige un punto para cerrar el dominio y evitar capturas incompletas.
- TLD con longitud de 2 a 5 caracteres.
- Soporta múltiples niveles de TLD, como .com.mx. Definir el TLD final facilita el match y evita truncados.
- Considera el fin de línea para delimitar mejor el patrón cuando el editor o motor lo requiera.
- No se consulta a NIC: se valida la forma, no la existencia del dominio.
¿Cuándo usar cuantificadores lazy o greedy en el dominio?
- Con TLDs cortos y regionales (por ejemplo, .com.mx), un cuantificador lazy puede cortar antes de tiempo. Capturar el TLD final y permitir greedy en el dominio suele ser más estable.
- Con TLDs grandes (.com, .edu, .net, .pizza), usar lazy o greedy casi no cambia el resultado.
- Prueba en tu motor de regex: los detalles pueden variar por lenguaje.
¿Qué diferencias hay entre lenguajes y cómo probar tus regex?
Las expresiones regulares comparten base, pero presentan matices. Algunas clases como \w, los cuantificadores lazy/greedy y los anclajes pueden comportarse distinto entre motores. Probar en editor ayuda, pero las pruebas completas y unitarias son las que dan confianza real.
¿Qué cambia entre Python, Perl, PHP, JavaScript, Java, Go y Ruby?
- La clase \w normalmente incluye guion bajo, pero no siempre se comporta igual en todos los motores.
- El manejo de lazy y greedy puede diferir en matices y combinaciones con anclajes.
- En Java, las librerías más completas suelen importarse fuera del core.
- El rendimiento de las regex suele ser muy alto en la mayoría de lenguajes.
¿Cómo y dónde probar antes de producción?
- Practica primero en un editor de texto que soporte regex para iterar rápido.
- Luego ejecuta pruebas completas en tu entorno real.
- Incluye pruebas unitarias para conocer qué sí y qué no funciona.
- Evita el copy-paste de Stack Overflow sin entender el patrón y su ajuste a tu caso.
¿Qué validaciones mejoran la experiencia del usuario?
- Validación en tiempo real con JavaScript mientras se teclea el email.
- Retroalimentación inmediata y útil cuando un patrón no se cumple.
- Reglas de longitud y caracteres bien definidas que reducen errores de capa ocho.
¿Qué otros detalles y casos conviene tener presentes?
Las reglas de nombres de dominio cambian. Antes no podían iniciar con número; hoy sí. También conviene recordar que los patrones compartidos para enseñar pueden no cubrir todos los casos de producción. Ajusta y prueba con tus datos reales.
¿Puede un dominio empezar con número hoy?
- Antes se evitaba; hoy es válido.
- Si alguna vez excluiste dígitos al inicio del dominio, revisa y actualiza esa restricción.
¿Por qué no llevar estos patrones directo a producción?
- Sirven para explicar conceptos y arrancar rápido.
- Pueden incluir o excluir casos inesperados.
- Pruébalos con tus muestras, volúmenes y proveedores específicos.
¿Qué viene después para practicar?
- Extracción de coordenadas en proyectos GIS: latitud y longitud.
- Formatos con y sin radianes para reforzar clases, cuantificadores y anclajes.
- Casos reales: desde archivos CSV hacia base de datos, Excel o reportes.
¿Te quedó alguna duda o tienes un caso límite que validar? Cuéntalo en los comentarios y menciona tu lenguaje objetivo para afinar el patrón juntos.