Probador y Evaluador de RegEx

Prueba y depura expresiones regulares con resaltado de coincidencias y grupos.

Probador y Evaluador de RegEx

Prueba y depura expresiones regulares con resaltado de coincidencias y grupos.

Cómo funciona

1
Ingrese o pegue texto
Escriba o pegue su texto o código en el área de trabajo.
2
Aplique la conversión
Ejecute la herramienta para formatear, filtrar o inspeccionar.
3
Copie el resultado
Copie la salida procesada con un solo clic.
Centro de Conocimiento y Conceptos

Probador de Expresiones Regulares, Depurador Regex y Grupos de Captura

Las expresiones regulares (RegExp) proporcionan un motor formal de reconocimiento de patrones de texto, validación de formatos complejos y manipulación de cadenas en el desarrollo de software. No obstante, diseñar patrones avanzados con aserciones condicionales (lookaround), cuantificadores perezosos y grupos de captura exige verificar el comportamiento del motor sobre casos de prueba reales para prevenir vulnerabilidades de retroceso catastrófico.

Un desarrollador diseña un patrón para extraer direcciones de correo corporativas de un fichero de registro con 1.500 líneas de texto. Introduce la expresión regular /([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})/g en el entorno de pruebas. La herramienta compila el patrón instantáneamente mediante el motor nativo del navegador, colorea con resaltado cromático diferenciado las 142 coincidencias encontradas, desglosa los grupos de captura 1 (usuario) y 2 (dominio) con sus índices de inicio y fin, y calcula el tiempo de evaluación en milisegundos. Al activar los modificadores multilínea (m) e insensible a mayúsculas (i), la interfaz actualiza los resultados en tiempo real.

El entorno de pruebas incorpora un repositorio de patrones comunes (correos, URLs, fechas ISO e IPv4/IPv6), evaluando las expresiones de forma privada en el cliente sin transferir registros a servidores remotos.

Guía Técnica Detallada

Por qué tu Regex no coincide: Modificadores, saltos de línea y caracteres de escape

Solucione errores en expresiones regulares. Guía sobre modificadores g, i, m, s, anclas multilínea ^ y $, cuantificadores codiciosos vs perezosos y ReDoS.

Leer guía completa →

Arquitectura Central y Fórmula Matemática

Compilación RegExp: new RegExp(patrón, flags) ➔ String.prototype.matchAll() ➔ Índices + Grupos

Evalúa el autómata finito determinista o no determinista del motor del navegador sobre el texto de entrada, extrayendo las coincidencias, posiciones y desgloses de grupos capturados.

Mejores Prácticas y Pautas Esenciales

  • Evitar la anidación de cuantificadores ambiguos para prevenir ReDoS: Expresiones como (a+)+ provocan retroceso catastrófico (catastrophic backtracking) que bloquea el hilo de ejecución del servidor o navegador ante entradas adversas.
  • Utilizar grupos sin captura (?:...) cuando no precise reutilizar el valor: Emplear grupos no capturadores alivia la memoria del motor y acelera la evaluación en textos voluminosos frente a grupos con captura ordinarios.
  • Anclar patrones con ^ y $ al validar campos de formulario completos: Omitir los anclajes de inicio y fin permite validar cadenas que contienen texto malicioso no autorizado antes o después del patrón esperado.
  • Activar modificadores explícitos según la necesidad sintáctica: Use g para coincidencias globales, i para ignorar mayúsculas y s (dotAll) para que el comodín de punto . incluya los saltos de línea.

Preguntas Frecuentes (FAQ)

¿Qué diferencia existe entre un cuantificador codicioso (greedy) y uno perezoso (lazy)?
Un cuantificador codicioso (*, +) abarca la mayor cantidad de caracteres posible que satisfaga la regla; añadir un signo de interrogación (*?, +?) lo vuelve perezoso, deteniéndose en la primera coincidencia válida.
¿Cómo funcionan las aserciones lookahead y lookbehind?
Permiten comprobar si un texto está seguido ((?=...)) o precedido ((?<=...)) por determinado patrón sin incluir ese contenido en la coincidencia resultante de la búsqueda.
¿Qué dialecto o especificación de expresiones regulares utiliza esta herramienta?
Utiliza el motor ECMAScript (JavaScript moderno) del navegador, compatible con sintaxis moderna como grupos de captura con nombre ((?<nombre>...)), aserciones lookbehind y clases de propiedades Unicode (\p{...}).
¿Ayuda el probador a identificar errores sintácticos en el patrón?
Sí. Si la expresión contiene paréntesis sin cerrar, rangos de caracteres invertidos o secuencias de escape inválidas, la herramienta señala con precisión el error de compilación SyntaxError.