Regex con ejemplos: correo, teléfono, RFC y CURP
Patrones que puedes pegar y probar al momento, lo que realmente validan y las trampas que hacen que una regex acepte de más o se cuelgue.
Una expresión regular describe un patrón de texto, y el mejor modo de entenderla es probarla contra ejemplos. Con el probador de regex pegas el patrón y un texto de prueba, ves las coincidencias resaltadas, los grupos y una explicación del patrón, todo en tu navegador y sin enviar tu texto a ningún sitio. Estos son los patrones que la herramienta trae como ejemplos, con lo que cada uno acepta y lo que no comprueba.
Cómo probar un patrón paso a paso
- Abre el probador de regex y escribe el patrón, o elige uno de los ejemplos.
- Activa los flags que necesites:
gbusca todas las coincidencias en vez de detenerse en la primera,iignora mayúsculas y minúsculas ymhace que^y$valgan para cada línea. - Pega el texto de prueba. Las coincidencias aparecen resaltadas y en una lista.
- Activa el Modo explicación si quieres leer el patrón pieza por pieza.
La herramienta usa el motor de expresiones regulares de JavaScript. Si tu patrón es para otro lenguaje, funciones como los grupos con nombre o las miradas hacia atrás pueden comportarse distinto.
Patrones de ejemplo
| Uso | Patrón | Lo que valida |
|---|---|---|
| Correo | ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$ | Algo antes de la arroba, un dominio y un punto |
| Teléfono MX | (\+?52)?\s?\d{10} | Diez dígitos, con lada de país opcional |
| RFC | ^[A-Z&Ñ]{3,4}\d{6}[A-Z0-9]{3}$ | 3 o 4 letras, 6 dígitos y 3 caracteres |
| CURP | ^[A-Z]{4}\d{6}[HM][A-Z]{5}[0-9A-Z]\d$ | 18 caracteres con la estructura de una CURP |
| IP v4 | ^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$ | Cuatro grupos de uno a tres dígitos |
Probados con ejemplos: [email protected] coincide con el patrón de correo y ana@correo no, porque le falta el punto del dominio. El RFC GOMC800101ABC y la CURP GOMC800101HDFRRL09 cumplen el formato.
Leer un patrón pieza por pieza
Tomemos el del RFC, ^[A-Z&Ñ]{3,4}\d{6}[A-Z0-9]{3}$, y lo leemos de izquierda a derecha:
^y$: el texto completo debe cumplir lo que hay entre ellos.[A-Z&Ñ]{3,4}: entre 3 y 4 caracteres que sean letras mayúsculas,&oÑ(tres para una persona moral, cuatro para una persona física).\d{6}: seis dígitos, que corresponden a la fecha.[A-Z0-9]{3}: tres letras o dígitos, la homoclave.
Con el flag i, las minúsculas también valen. Esa lectura es justo lo que el Modo explicación te muestra en el probador, y es la mejor forma de aprender a escribir tus propios patrones: cambia una pieza, mira qué coincidencias aparecen o desaparecen.
Lo que un patrón no comprueba
Aquí está la diferencia entre formato y validez:
- El RFC y la CURP: el patrón solo revisa la forma. No comprueba que la fecha embebida exista, que el dígito verificador sea correcto ni que la persona esté registrada. Para saber si un RFC es válido ante el SAT, hay que consultar al SAT.
- La IP v4:
999.999.999.999pasa el patrón de ejemplo, porque solo exige uno a tres dígitos por grupo. Una validación real necesitaría limitar cada grupo a 255. - El correo: un patrón razonable acepta casi todo lo habitual, pero no demuestra que el buzón exista. Es más práctico validar el formato de forma laxa y confirmar con un correo de verificación.
- El teléfono: el patrón de ejemplo puede incluir un espacio inicial en la coincidencia. Con el texto
Llama al 5512345678 o al +52 5587654321, la primera coincidencia es5512345678, con el espacio al principio. Si necesitas solo el número, ajusta el patrón o recorta el resultado.
Los errores más comunes
- Olvidar los anclajes. Sin
^y$, el patrón encuentra coincidencias dentro de textos más largos. Con ellos, el texto completo debe cumplirlo. - No escapar el punto.
.significa cualquier carácter. Para un punto literal, escribe\.. - Codicia excesiva.
.*consume todo lo que puede. Si necesitas lo mínimo, prueba.*?. - Patrones lentos. Algunas combinaciones, como cuantificadores anidados
(a+)+, pueden volverse extremadamente lentas con ciertas entradas, un problema conocido como ReDoS. El probador evalúa en un Web Worker y, si pasan 1,5 segundos, lo corta y avisa de un posible patrón ineficiente. - Usar regex para todo. Para analizar HTML o JSON completos, un analizador de verdad es más fiable.
Grupos con nombre
Un grupo con nombre se escribe (?<anio>\d{4})-(?<mes>\d{2}). Aplicado a 2026-10, devuelve anio con 2026 y mes con 10. Hace que el patrón se lea mejor y que el código acceda a las partes por nombre. Para formatear datos antes de probarlos, mira el formateador de JSON y para comparar dos versiones de un texto, qué cambió entre dos versiones de un texto.
Preguntas frecuentes
¿Qué es una expresión regular?
Un patrón que describe una forma de texto, y sirve para buscar, validar o reemplazar. Por ejemplo, un patrón puede describir cómo luce un correo o un código postal.
¿Cuál es una regex para validar un correo?
Un patrón razonable es ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$. Acepta lo habitual, pero no prueba que el buzón exista.
¿La regex del RFC o la CURP valida que sean reales?
No. Solo comprueba la estructura. No verifica la fecha, el dígito verificador ni que la persona esté registrada.
¿Qué significan los flags g, i y m?
g busca todas las coincidencias, i ignora mayúsculas y minúsculas, y m hace que ^ y $ valgan para cada línea.
¿Qué es ReDoS?
Una expresión que se vuelve extremadamente lenta con ciertas entradas, normalmente por cuantificadores anidados. Puede bloquear un programa. El probador corta evaluaciones que tardan demasiado.
¿Se envía mi texto a algún servidor?
No. La evaluación ocurre en tu navegador.
Prueba tu regex en el navegador
Coincidencias resaltadas, grupos, modo explicación y protección contra patrones lentos. 100% local, gratis y sin registro.
Abrir Probador de regex →Herramientas relacionadas
- Probador de regex: coincidencias, grupos y modo explicación.
- Comparador de textos: compara dos versiones de un texto.
- Limpiar texto: ordena, quita duplicados y numera líneas.
- Entidades HTML: escapa caracteres para HTML.
También te puede interesar: mejores herramientas para developers 2026, extraer correos de un documento, Entidades HTML: qué son y cómo evitan el XSS y Qué significa %20 en una URL y cuándo codificar.