La sintaxis de regex en una tabla y 30 patrones listos para email, URL, teléfono, código postal, contraseña, fechas y más. Cada uno se prueba en vivo con ejemplos que deben coincidir y no coincidir, y puedes editarlos.
Una expresión regular es un patrón para buscar coincidencias en un texto. \d coincide con un dígito, \w con un carácter de palabra, + significa uno o más, ? hace algo opcional, y ^ y $ fijan la coincidencia al principio y al final. Abajo tienes la sintaxis completa y 30 patrones probados, cada uno comprobado en vivo con cadenas que deben coincidir y otras que no.
Seis símbolos que cubren la mayoría de los patrones
Copia un patrón y prueba tu propio texto en la casilla de al lado. Cada patrón de esta página incluye ejemplos que deben coincidir y ejemplos que no, y la página los ejecuta en tu navegador para que veas cada resultado.
Una práctica es ^[^\s@]+@[^\s@.]+(\.[^\s@.]+)+$: algo de texto, una @ y un dominio con al menos un punto. Detecta erratas sin rechazar direcciones poco habituales pero válidas. Ninguna regex puede saber si una dirección existe de verdad, así que envía un email de confirmación.
Quita los espacios, guiones y paréntesis y comprueba el formato E.164: ^\+[1-9]\d{6,14}$. Para números de EE. UU. y Canadá escritos con separadores, usa el patrón norteamericano de esta página. Para una validación completa por país, una librería de números de teléfono es más fiable.
Fuera de los corchetes, ^ fija la coincidencia al principio del texto, o de cada línea con el flag m. Dentro de los corchetes y como primer carácter, como en [^0-9], significa ninguno de estos caracteres.
Las variantes difieren en detalles: Python escribe los grupos con nombre como (?P<name>...), no admite \p{L} en su módulo re integrado y solo permite lookbehind de longitud fija. Consulta la tabla de lenguajes de esta página para ver las diferencias habituales.
Los cuantificadores greedy como * y + toman todo el texto que pueden y luego retroceden. Añadir ? los vuelve lazy, de modo que toman lo mínimo posible. En <b>x</b><b>y</b>, <.+> coincide con todo, mientras que <.+?> coincide solo con <b>.
Referencia de sintaxis regex (variante de JavaScript)
Flags de JavaScript
Las mismas ideas en JavaScript, Python y PHP
Algo, una @ y luego un dominio con al menos un punto. Sin espacios.
Ninguna regex comprueba del todo una dirección de email. Envía un email de confirmación para saber si es real.
http o https, un host con al menos un punto, un puerto opcional y después cualquier ruta, query o fragmento sin espacios.
En JavaScript, new URL(value) dentro de un bloque try es la comprobación más estricta.
Etiquetas de letras, dígitos y guiones internos, separadas por puntos y terminadas en un dominio de nivel superior solo con letras.
Letras minúsculas y dígitos en grupos unidos por guiones simples.
Un signo más, un código de país que no empieza por 0 y de 7 a 15 dígitos en total, sin espacios.
Quita primero los espacios, guiones y paréntesis. Para una validación real por país, usa una librería de teléfonos.
+1 opcional, un código de área de 3 dígitos y un prefijo que no empiezan por 0 ni por 1, y después 4 dígitos, con los separadores habituales.
Cinco dígitos, seguidos opcionalmente de un guion y cuatro más (ZIP+4).
Una o dos letras, un dígito, una letra o un dígito opcional, un espacio opcional y después un dígito y dos letras.
Solo comprueba la forma. Acepta algunos códigos que no existen.
Letra, dígito, letra, espacio opcional, dígito, letra, dígito. Las letras D, F, I, O, Q y U nunca se usan, y W y Z nunca van primero.
Un # y después 3, 4, 6 u 8 dígitos hexadecimales (las formas de 4 y 8 incluyen transparencia).
Al menos 12 caracteres, con una minúscula, una mayúscula, un dígito y un símbolo, comprobados con lookaheads.
La longitud importa más que la mezcla. Muchos equipos ahora solo exigen una longitud mínima y comprueban la contraseña contra listas de contraseñas filtradas.
De 3 a 20 caracteres de letras y dígitos; puntos y guiones bajos permitidos solo entre ellos y nunca dobles.
Cuatro números de 0 a 255 separados por puntos, sin ceros a la izquierda.
Año de cuatro dígitos, mes de 01 a 12, día de 01 a 31.
Permite 2026-02-31. Analiza la fecha después para rechazar los días que no existen.
Horas de 00 a 23, dos puntos y minutos de 00 a 59.
Horas de 1 a 12, minutos y después am o pm con puntos y espacio opcionales.
Signo menos opcional y después 0 o un número sin ceros a la izquierda.
Un número entero con un punto opcional y al menos un dígito después.
Signo de dólar opcional, dígitos con grupos de comas correctos (o sin ellos) y céntimos opcionales de dos dígitos.
Un número de 0 a 100 con decimales opcionales, seguido de %.
De 13 a 19 dígitos, agrupados opcionalmente con espacios o guiones.
Solo la forma. Usa el algoritmo de Luhn y tu proveedor de pagos para validar una tarjeta.
MAJOR.MINOR.PATCH sin ceros a la izquierda, con partes opcionales -prerelease y +build.
Dígitos hexadecimales en grupos 8-4-4-4-12 con un dígito de versión de 1 a 8 y la variante estándar.
Una etiqueta de apertura, texto sin otras etiquetas y la etiqueta de cierre correspondiente (la referencia \1 repite el nombre).
No analices HTML completo con regex. Usa DOMParser o un analizador de HTML.
Nada más que espacios, tabulaciones o saltos de línea. Útil para rechazar campos de formulario vacíos.
Un # seguido de letras (de cualquier alfabeto), dígitos o guiones bajos. Requiere el flag u para \p{L}.
Las formas habituales watch, embed, shorts y enlace corto. El grupo 1 captura el ID de vídeo de 11 caracteres.
Un nombre de archivo sin caracteres no permitidos en rutas, terminado en una extensión de imagen habitual.
Una @ y de 1 a 15 letras, dígitos o guiones bajos, la regla que usa X (antes Twitter).
Encuentra una palabra escrita dos veces seguidas, como 'the the'. No está anclado, así que busca dentro del texto.
(vacío)
no coincide
Copiar
Debe coincidir
No debe coincidir
Prueba tu propio valor
Coincide
No coincide
Probador rápido
Patrón
Flags
Texto
No hay coincidencias.
en {n}:
grupos:
Sintaxis
Flags
{n} patrones probados
Filtrar
email, fecha, teléfono…
Ningún patrón coincide con ese filtro.
JavaScript, Python y PHP
Publicado 2026-10, parcheado 2026-11, previsto 2027-02.
Empieza gratis · Sin tarjeta de crédito