Texto 🔒 Se ejecuta en tu navegador — no se envían datos

Probador de Expresiones Regulares

Prueba expresiones regulares en vivo: coincidencias, grupos de captura y reemplazo, con 15 patrones listos.

/ /
Texto de prueba
Coincidencias y grupos
Las coincidencias aparecen aquí...

Probador de expresiones regulares - testear regex online en tiempo real

Escribir una expresión regular es adivinar hasta que puede ver qué coincide. Este probador de regex gratuito ejecuta su patrón contra su propio texto de ejemplo mientras escribe y resalta todas las coincidencias, de modo que encuentra el fallo en segundos en lugar de publicar una validación rota.

Escriba el patrón en un campo, las banderas en el siguiente y pegue debajo el texto que quiere comprobar. Las coincidencias se actualizan al instante y un patrón inválido se avisa de inmediato en vez de fallar en silencio.

Diagrama: el patrón (\d{4})-(\d{2})-(\d{2}) coincide con 2026-09-17, con los grupos $1, $2 y $3; el reemplazo $3/$2/$1 produce 17/09/2026.Patrón(\d{4})-(\d{2})-(\d{2})TextoCoincidenciav1.8·2026-09-17$1$2$3$1 = 2026$2 = 09$3 = 17Reemplazar por$3/$2/$1v1.8 17/09/2026
Cada par de paréntesis captura parte de la coincidencia como un grupo numerado. El reemplazo puede usar los grupos en cualquier orden, así que $3/$2/$1 convierte una fecha ISO en día/mes/año.

Para qué sirve realmente un probador de regex

La mayoría de errores con regex no son exóticos: el patrón captura de más, captura de menos, o funciona con el único ejemplo que tenía en mente y falla con el segundo. Un probador convierte ese comportamiento invisible en algo que se puede mirar: pegue cinco entradas realistas, incluidas las incómodas, y observe cuáles se iluminan. Además es la forma más rápida de aprender la sintaxis, porque cambia un carácter y ve la consecuencia al momento.

Cómo usar este probador

  1. Escriba el patrón sin las barras que lo rodean, por ejemplo [a-z]+\d{2,4}.
  2. Añada las banderas necesarias en su campo, como gi para una búsqueda global que ignore mayúsculas.
  3. Pegue texto de ejemplo realista en Texto de prueba, incluyendo los casos límite que espera que fallen.
  4. Lea las coincidencias resaltadas en el texto y listadas en Coincidencias y grupos, ajuste el patrón y repita hasta que solo se marque el texto correcto.
  5. Revise los grupos de captura que acompañan a cada coincidencia y escriba un reemplazo con $1 o $<nombre> en Reemplazar con; el texto reescrito aparece en Resultado del reemplazo.

¿No sabe por dónde empezar? El menú Biblioteca de patrones carga uno de 15 patrones habituales junto con sus banderas, desde direcciones de email, URL, direcciones IPv4, UUID y colores hexadecimales hasta enlaces Markdown, palabras repetidas y espacios sobrantes al principio o al final de una línea. Si la caja de prueba está vacía o aún contiene un ejemplo anterior, el patrón trae un texto de ejemplo; si ya pegó su propio texto, se conserva y el patrón se prueba contra sus datos reales. Tómelos como punto de partida, no como validadores: el patrón de email, por ejemplo, es práctico a propósito y no acepta todas las direcciones que permite el estándar. La guía de regex para email y la guía de números, teléfonos y direcciones IP explican dónde se quedan cortos estos patrones.

Grupos de captura y buscar y reemplazar

Ponga parte del patrón entre paréntesis para capturarla: este comprobador muestra cada grupo junto a su coincidencia, numerado como Grupo 1, Grupo 2, etc., además de cualquier grupo con nombre escrito (?<nombre>...). Así se extrae el año, un prefijo o una extensión de archivo de una coincidencia en lugar de solo confirmar que coincide. Escriba algo en el campo Reemplazar con para reescribir las coincidencias al momento: $1 inserta el primer grupo, $<nombre> uno con nombre, $& la coincidencia completa y $$ un signo de dólar literal.

Las banderas y lo que cambian

BanderaEfectoCuándo la necesita
gBusca todas las coincidencias, no solo la primeraReemplazar o contar todas las apariciones
iIgnora mayúsculas y minúsculasEntrada de usuario, correos, etiquetas
m^ y $ valen en cada líneaTrabajar línea a línea en un log o una lista
s. también coincide con el salto de líneaCapturar un bloque de varias líneas
uModo Unicode completoEmojis, tildes y alfabetos no latinos
yPegajosa: coincide solo en la posición actualEscribir un tokenizador o un analizador

Los símbolos que más usará

SímboloSignificado
\d \w \sUn dígito, un carácter de palabra, un espacio en blanco
.Cualquier carácter salvo el salto de línea, si no está la bandera s
^ $Inicio y fin de la cadena, o de cada línea con m
* + ?Cero o más, uno o más, cero o uno
{2,5}Entre dos y cinco repeticiones
[abc] [^abc]Cualquiera de estos caracteres, o cualquiera menos estos
(...) (?:...)Grupo de captura y grupo sin captura
\bLímite de palabra: la solución para capturar solo palabras completas

Para qué escribe la gente expresiones regulares

  • Validar correos, teléfonos, códigos postales y documentos de identidad en formularios.
  • Extraer direcciones IP, códigos de estado, marcas de tiempo o identificadores de usuario de los logs.
  • Buscar y reemplazar en todo un proyecto y hacer refactorizaciones que el editor no puede resolver literalmente.
  • Reglas de enrutado y de redirección en un framework, un servidor web o una CDN.
  • Limpiar datos importados o extraídos antes de que lleguen a la base de datos.
  • Aplicar reglas de composición de contraseñas en el lado del cliente.

Los errores que más tiempo cuestan

  • Cuantificadores voraces. .* llega hasta el final de la línea. Use .*? o una clase negada como [^"]* para parar antes.
  • Metacaracteres sin escapar. Un punto, un más, una interrogación o una barra literales necesitan una barra invertida delante.
  • Olvidar la bandera g y preguntarse por qué solo cambió la primera aparición.
  • Retroceso catastrófico. Cuantificadores anidados como (a+)+ pueden colgarse con una entrada larga que no coincide.
  • Patrones de correo demasiado estrictos. Las direcciones reales llevan signos más, puntos y caracteres internacionales: sea permisivo y confirme por correo.
  • Intentar analizar HTML. Use un parser para estructuras anidadas: una regex no puede contar etiquetas abiertas y cerradas.

Nota sobre los dialectos de regex

Este probador usa el motor JavaScript de su navegador, que es el objetivo correcto si el patrón va a ejecutarse en una página web, en Node.js o en un esquema JSON. PCRE, Python, Go y PostgreSQL se diferencian en detalles como el soporte de lookbehind, la sintaxis de grupos con nombre y las propiedades Unicode. Pruebe el patrón en el entorno donde vaya a ejecutarse antes de confiar en él.

Nada de lo que pega se envía

El patrón y el texto de prueba se quedan en el navegador. Eso importa porque los datos de prueba suelen ser datos reales - extractos de logs, registros de clientes, correos de ejemplo - y ninguno debería acabar en el servidor de otra persona.

El mismo patrón en Python, Java, C#, PHP y Go

Cuando un patrón funciona aquí, casi siempre pasa a otro lenguaje cambiando solo el envoltorio. Lo que de verdad muerde es cómo se escapan las barras invertidas en los literales de cadena y qué funciones tiene cada motor.

LenguajeComprobar una coincidenciaCuidado con
Pythonre.search(r'\d{4}', text)Usa cadenas raw; los grupos con nombre se escriben (?P<nombre>...)
JavaPattern.compile("\\d{4}").matcher(text).find()Duplica las barras invertidas; matches() exige que coincida toda la cadena
C# / .NETRegex.IsMatch(text, @"\d{4}")Las cadenas verbatim con @ evitan el doble escape
PHPpreg_match('/\d{4}/', $text)PCRE: los delimitadores son obligatorios; añade u para UTF-8
Goregexp.MustCompile(`\d{4}`).MatchString(text)Motor RE2: sin lookbehind ni retrorreferencias

Herramientas relacionadas

Los patrones casi siempre operan sobre texto que viene de otro sitio. Dé formato a un payload con el formateador JSON, decodifique un valor escapado con el decodificador de URL, lea un token con el decodificador JWT y convierta los epoch encontrados con el conversor de timestamp.

Guías relacionadas