Qué hace esta herramienta
Probador de regex JavaScript con resaltado de coincidencias en vivo, tabla de grupos de captura, modo de reemplazo y un timeout en Web Worker que aborta patrones con retroceso catastrófico antes de congelar la pestaña.
Cubre los flags estándar: g (global), i (ignore case), m (multiline), s (dotAll), u (unicode) y y (sticky). Modo Buscar para ver coincidencias y grupos; modo Reemplazar para ver el resultado de aplicar una plantilla con $1, $<nombre>, etc.
Incluye:
- Explicar patrón — desglose token a token de qué hace cada parte de tu regex.
- Chuleta buscable de tokens y categorías.
- Mostrar invisibles — renderiza espacios y saltos de línea como glifos visibles para depurar.
- Enlace permanente — copia una URL que codifica patrón, texto de prueba y flags.
- Ejemplos — patrones comunes para emails, IPs, fechas que puedes cargar de un clic.
Cuándo la usarías
- Construir una regex que tu CI espera y querer ver qué coincide antes de hacer commit.
- Depurar un
grepo unfindque no encuentra lo que crees. - Probar un
String.replacecon una plantilla compleja sin abrir un REPL. - Aprender qué hace un patrón ajeno con el desglose token a token.
Cómo funciona
La ejecución va por un Web Worker con timeout configurable (por defecto 1 segundo) — si la regex tarda más, se aborta y se muestra "tardó demasiado". Esto te ahorra el clásico congelado de la pestaña por retroceso catastrófico (p. ej. (a+)+b contra aaaaaa).
Nada se envía al servidor. El motor es el regex nativo de JavaScript (V8 / SpiderMonkey / JavaScriptCore), idéntico al que verás en producción.
Notas
¿Y el regex de PCRE/Python? Las diferencias importan: lookbehind variable, posesivos, ramificaciones recursivas. Esta herramienta es estrictamente JavaScript regex. Si tu regex objetivo no es JS, prueba con un probador específico de ese motor.
¿Qué hace el flag u? Trata el patrón como Unicode (\p{Letter}, \u{1F600}, escapes correctos). Sin u el patrón opera sobre code units UTF-16, lo que rompe con caracteres fuera del BMP.
¿Por qué se truncan las coincidencias? Mostramos las primeras 10.000 para que el navegador no muera renderizando un millón de spans. Tu regex sigue ejecutándose completa para el conteo.
Herramientas relacionadas
- Comparador — para ver el efecto de un
replacelínea a línea - JSON — para extraer un campo del JSON con JSONPath en lugar de regex cuando el dato es estructurado
- Markdown — porque a veces lo que pegas tiene más estructura de la que esperabas