Probador de expresiones regulares (regex)
Prueba y depura expresiones regulares en tu navegador con resaltado en vivo, grupos de captura, los seis flags y vista previa de reemplazo.
Abrir la herramienta →La herramienta interactiva se abre en inglés.
Un probador de expresiones regulares en el navegador: escribes un patrón, eliges los flags y ves cada coincidencia resaltada en vivo en tu texto de prueba mientras escribes. Puedes inspeccionar cada coincidencia en detalle (su índice exacto de inicio y fin, los grupos de captura numerados $1, $2… y los grupos con nombre <name>, distinguiendo claramente los grupos vacíos de los undefined), activar los seis flags de ECMAScript (g global, i ignorar mayúsculas, m multilínea, s dotAll, u unicode e y sticky) y ver cómo se actualizan los resultados al instante. Una vista previa de reemplazo en vivo aplica tu cadena de sustitución ($1, $<name>, $& y similares) al texto de prueba, para que construyas un buscar y reemplazar antes de usarlo en otro sitio. Todo se ejecuta en el lado del cliente con el motor RegExp nativo de JavaScript del navegador, no se sube nada, y la longitud de la entrada y el tiempo de búsqueda están limitados para mantenerse a salvo ante patrones patológicos propensos a ReDoS. Es una herramienta Pro.
- Escribe tu patrón y elige los flags (g, i, m, s, u, y).
- Pega el texto de prueba y observa las coincidencias resaltadas en vivo.
- Inspecciona cada coincidencia: índices, grupos numerados y grupos con nombre.
- Escribe una cadena de reemplazo ($1, $<name>, $&) y revisa la vista previa antes de usarla.
Preguntas frecuentes
¿Qué es una expresión regular?
Una expresión regular (regex o regexp) es un patrón compacto que describe un conjunto de cadenas. En lugar de buscar una palabra fija, describes la forma de lo que quieres («un año de cuatro cifras», «algo con aspecto de correo», «una línea que empieza por ERROR») y el motor encuentra cada fragmento de texto que encaja. Los patrones se construyen con caracteres literales y metacaracteres: clases como \d (dígito) y \w (carácter de palabra), cuantificadores como * (cero o más), + (uno o más) y {2,4} (entre dos y cuatro), anclas como ^ y $, grupos entre paréntesis y alternancia con |. Se usan en todas partes donde se procesa texto: buscar y reemplazar en editores, validación de entradas, análisis de logs, extracción de datos y reglas de detección.
¿Qué variante de regex usa este probador?
Usa el motor JavaScript nativo de tu navegador, así que la variante es ECMAScript (el mismo RegExp que obtienes con new RegExp() o un literal /patrón/ en JS y Node.js). La sintaxis más común (clases, cuantificadores, anclas, grupos, alternancia, retrorreferencias, lookahead y, en motores modernos, lookbehind y grupos con nombre) se comporta igual en todas las variantes, pero algunas funciones cambian. ECMAScript no tiene modificadores en línea como (?i), cuantificadores posesivos ni grupos atómicos, anclas \A/\Z ni recursión, y los flags se fijan fuera del patrón. Si trabajas con PCRE, re de Python, RE2 de Go o Java, verifica cualquier construcción exótica en ese motor: esta herramienta refleja lo que hace el navegador.
¿Qué significan los flags g, i, m, s, u e y?
Cambian cómo se aplica el patrón. g (global) encuentra todas las coincidencias en lugar de parar en la primera; es lo que permite listar todas las coincidencias y reemplazar todas las apariciones. i (ignore case) hace que las letras coincidan sin distinguir mayúsculas. m (multiline) hace que ^ y $ coincidan al inicio y al final de cada línea y no solo de toda la cadena. s (dotAll) hace que el punto también coincida con saltos de línea. u (unicode) trata el patrón como una secuencia de puntos de código Unicode y habilita los escapes \u{...} y las clases de propiedades \p{...}. y (sticky) ancla cada intento a lastIndex del motor, así que las coincidencias deben ser contiguas desde esa posición.
¿Qué son los grupos de captura y las retrorreferencias?
Los paréntesis ( ) crean un grupo de captura: el texto que coincide dentro se recuerda y se numera de izquierda a derecha ($1, $2…), para extraer partes de una coincidencia o reutilizarlas en un reemplazo (por ejemplo, convertir 2026-01-15 en 15/01/2026 con $3/$2/$1). Los grupos con nombre, escritos (?<year>\d{4}), capturan con un nombre que se usa como $<year> en el reemplazo. Una retrorreferencia como \1 dentro del patrón coincide con el mismo texto que capturó un grupo anterior. Si solo quieres agrupar sin capturar, usa un grupo no capturador (?:…). El probador muestra todos los grupos numerados y con nombre de cada coincidencia y marca como «undefined» un grupo que no participó.
¿Puede una expresión regular ser un riesgo de seguridad?
Sí: el caso clásico es ReDoS (denegación de servicio por expresiones regulares), causado por el backtracking catastrófico. Un patrón con cuantificadores anidados o solapados, como (a+)+$ o (.*a){20}, puede tardar un tiempo exponencial con ciertas entradas: unas decenas de caracteres con la forma equivocada pueden ocupar un núcleo de CPU durante segundos, minutos o prácticamente para siempre. Si esa regex se ejecuta sobre entradas controladas por un atacante en un manejador de peticiones, una sola cadena preparada puede bloquear o tumbar el servicio. Mitigaciones: patrones sencillos y anclados, no anidar cuantificadores sobre los mismos caracteres, límites de longitud de entrada y un motor de tiempo lineal como RE2 para entradas no confiables. El probador se protege buscando solo en un prefijo limitado del texto, limitando cuántas coincidencias recoge y dando al bucle global un presupuesto de tiempo, aunque JavaScript ejecuta la regex de forma síncrona y una sola búsqueda patológica sobre una cadena enorme aún puede ser lenta. Todo se queda en tu navegador.
¿Es gratis?
No, es una herramienta Pro. Con una cuenta gratuita tienes 3 usos de prueba de herramientas Pro en total; después necesitas Pro.