Saltar al contenido
AZ Tools

Tester de Regex

Escribe una expresión regular, activa las banderas y verás cada coincidencia resaltada en tu cadena de prueba mientras escribes. Los grupos de captura se listan por coincidencia y una vista previa del reemplazo corre en paralelo, así que puedes confirmar a la vez qué encuentra el patrón y qué produciría. El motor es el propio RegExp de JavaScript del navegador, lo que significa que lo que ves aquí es exactamente lo que hará tu código, incluidos los puntos en los que JavaScript difiere de PCRE, Python o Go. No se envía nada: patrones y datos de prueba se quedan en la página, lo que importa cuando la muestra que depuras son datos reales.

Banderas
Coincidencias2 coincidencia(s)
Contact me at jane@example.com or john@test.io for details.
  • #1 @14jane@example.com
  • #2 @34john@test.io
Vista previa del reemplazo
Contact me at [redacted] or [redacted] for details.

Cómo usar

  1. Introduce un patrón regex (sin delimitadores).
  2. Alterna banderas: g (global), i (ignora mayúsculas), m (multilínea), s (dotall), u (unicode).
  3. Escribe o pega una cadena de prueba — las coincidencias se resaltan al instante.
  4. Proporciona una cadena de reemplazo para previsualizar el resultado.

Preguntas frecuentes

¿Qué dialecto usa?
Regex de JavaScript (ECMAScript). Lookbehinds, grupos nombrados y escapes de propiedades Unicode son compatibles con navegadores modernos.
¿Cómo referencio grupos en el reemplazo?
Usa $1, $2, $& para la coincidencia completa o $<nombre> para grupos nombrados.
¿Hay límite de coincidencias?
Se capturan las primeras 10.000 iteraciones para mantener la UI ágil; en la lista se muestran las primeras 50.
¿Se envían mis datos?
No. Patrones y cadenas se ejecutan solo en tu navegador y el guardado automático queda en tu almacenamiento local.
¿Por qué mi patrón bloquea la página?
Casi con seguridad, retroceso catastrófico. Los patrones que anidan cuantificadores —algo como (a+)+b— pueden obligar al motor a recorrer un número exponencial de formas de dividir la entrada antes de admitir que no hay coincidencia. La solución es hacer inequívocas las partes internas, normalmente sustituyendo un .* voraz por una clase de caracteres negada que no pueda solaparse con el delimitador.
¿Qué cambia realmente la bandera global?
Sin g, la búsqueda se detiene en el primer resultado. Con g, continúa por toda la cadena, que es lo que hace que la lista de coincidencias tenga más de una. Además convierte la expresión en algo con estado en el código real, porque recuerda dónde se detuvo. Esa es la razón habitual de que un patrón reutilizado en un bucle parezca saltarse coincidencias alternas.
¿Cómo hago coincidir varias líneas?
Intervienen dos banderas distintas que se confunden con facilidad. Multilínea cambia el significado de los anclajes, de modo que ^ y $ coinciden en cada salto de línea y no solo en los extremos de la cadena. Punto-todo cambia lo que coincide con el punto, permitiéndole abarcar también los saltos de línea. Si un patrón se detiene al final de la primera línea, normalmente querías punto-todo.

Guías sobre este tema

Herramientas relacionadas