Probador de regex
Construye y prueba regex JS con resaltado en vivo y desglose de grupos de captura. Seis flags, cinco patrones de ejemplo y protección contra inputs descontrolados. En el navegador.
Patrón entre las barras; activa flags a la derecha. Pasa el cursor por cada flag para ver qué hace.
¿Qué es un probador de regex?
Un probador de regex compila una expresión regular en tiempo real y muestra exactamente qué subcadenas coinciden — índices, longitudes y grupos de captura. Es la forma más rápida de iterar.
¿Qué hacen los flags?
Cada flag cambia cómo busca el motor: <code>g</code> todas las coincidencias, <code>i</code> ignora mayúsculas, <code>m</code> hace que <code>^/$</code> coincidan por línea, <code>s</code> permite que <code>.</code> coincida con saltos de línea, <code>u</code> Unicode, <code>y</code> sticky.
Evitando backtracking catastrófico
Patrones con cuantificadores anidados como <code>(a+)+b</code> pueden tomar tiempo exponencial — el motor prueba cada split posible. Este probador limita inputs a 100 KB e intenta abortar tras 100 ms.
¿Tienes una respuesta JSON para inspeccionar? Prueba nuestro formateador JSON.
Usos comunes
- Validación de email: Construye un regex pragmático que entiendas — RFC 5322 completo es enorme.
- Extracción de logs: Saca request IDs, códigos de error o timestamps de líneas de log.
- Limpieza de formularios: Valida teléfonos, códigos postales o SKUs antes de enviar al backend.
- Buscar y reemplazar: Itera un patrón aquí antes de pegarlo en la búsqueda regex de VS Code.
- Coincidencia de URL: Patrones de URL con grupos de captura nombrados para extraer segmentos.
- Configuración de CI lint: Prueba patrones para ESLint o pre-commit antes de commitear la config.
- Limpieza de datos a escala: Prueba un regex en una muestra de CSV antes de aplicarlo a millones de filas.
FAQ
¿Qué significa el flag g?
El flag "global" le dice al motor que encuentre todas las coincidencias. Sin él, .match() solo devuelve la primera. Algunos métodos lo requieren.
¿Qué es un grupo de captura?
Los paréntesis crean un grupo de captura — el motor recuerda lo que coincide dentro. (?
Lookahead vs lookbehind — ¿cuándo cada uno?
Lookahead (?=…) verifica lo que sigue sin consumirlo; lookbehind (?<=…) hace lo mismo hacia atrás. Útiles para afirmar contexto sin incluirlo.
¿Por qué mi regex es lento o cuelga la página?
Probablemente backtracking catastrófico — cuantificadores anidados generan caminos exponenciales. Refactoriza con quantificadores posesivos o estructura greedy-then-lazy.
¿Esta herramienta envía mi regex?
No. El regex compila y ejecuta enteramente en tu navegador. Patrón y flags se guardan en localStorage, pero la cadena de prueba no se persiste.
En cifras
- El regex JavaScript sigue la especificación ECMA-262 — soportado en todos los navegadores modernos sin polyfills
- Las seis flags
g i m s u yañaden comportamientos específicos —gtodas las coincidencias,iignora caso,shace que.coincida con saltos - Un patrón de "backtracking catastrófico" puede tomar tiempo exponencial — nunca confíes en patrones del usuario en servidor sin timeout
- Los grupos de captura con nombre
(?<name>...)fueron estandarizados en ES2018, accesibles víamatch.groups.name