Tester de Regex / Editor / Visualizador de Coincidencias

Prueba, visualiza, reemplaza y explica expresiones regulares. Todo se procesa en tu navegador

⚙ Motor: JavaScript RegExp
Patrón
Banderas:
Insertar:
Ejemplos:
Texto de prueba 0 caracteres · 0 líneas
Coincidencias resaltadas
Coincidencias: 0
Hora:
Motor: JS RegExp
Tabla de coincidencias
# Coincidencia Inicio Fin Longitud Grupos
Grupos de captura
Sintaxis de reemplazo: $1 $2 grupos de captura · $& coincidencia completa · $` antes de la coincidencia · $' después de la coincidencia · $$ literal $ · $<name> grupo con nombre
Reemplazo
Texto fuente
Resultado
Ingresa un patrón regex arriba para ver una explicación legible.

Haz clic en cualquier ejemplo para cargarlo en la pestaña Prueba y ejecutarlo automáticamente.

Todas las pruebas, coincidencias, reemplazos y análisis de patrones se realizan en tu navegador. Tu texto y patrones nunca se envían a ningún servidor.

Tips

Ejecución automática para retroalimentación instantánea

Con la ejecución automática activada, los resultados se actualizan mientras escribes. La herramienta aplica debounce a la entrada para mantener la UI receptiva. Para textos muy grandes, la ejecución automática se desactiva automáticamente para evitar bloqueos.

Entender los grupos de captura

Los paréntesis () crean grupos de captura. Haz clic en cualquier coincidencia en la tabla para ver sus grupos. Los grupos con nombre (?<name>...) hacen la regex más legible y el reemplazo más fácil con $<name>.

Evitar el backtracking catastrófico

Cuantificadores anidados como (a+)+ o (a|a)*b pueden causar tiempo de ejecución exponencial. Mantén los patrones simples, usa construcciones atómicas cuando sea posible y prueba con entradas de casos límite.

Diferencias del motor JavaScript

Esta herramienta usa JavaScript RegExp. Algunas características como cuantificadores posesivos y grupos atómicos no están disponibles. El lookbehind requiere un navegador moderno. Las regex de Python, PCRE y .NET pueden comportarse de manera diferente.

Casos de uso comunes

📝

Validación de formularios

Prueba patrones de email, teléfono, fecha y contraseña antes de implementarlos en tu lógica de validación frontend o backend.

📊

Análisis de logs

Extrae marcas de tiempo, niveles de error y mensajes de archivos de log usando grupos de captura con nombre. Copia las coincidencias como JSON para procesamiento adicional.

🔍

Extracción de datos

Extrae URLs, direcciones IP, UUIDs o colores hexadecimales de texto no estructurado. La tabla de coincidencias muestra cada ocurrencia con detalles de posición.

⚙️

Refactorización de código

Usa la pestaña Reemplazar para probar patrones de buscar y reemplazar antes de aplicarlos en tu IDE. Soporta referencias a grupos de captura como $1 y $<name>.

📚

Aprender Regex

La pestaña Explicar descompone cualquier patrón en tokens comprensibles. Combinado con la Hoja de referencia y los Ejemplos, es un entorno de aprendizaje completo.

Preguntas frecuentes

¿Qué es una expresión regular?
Una expresión regular (regex) es un patrón que describe un conjunto de cadenas. Se usa para buscar, hacer coincidir y manipular texto. Por ejemplo, \d+ coincide con uno o más dígitos.
¿Esta herramienta usa regex de JavaScript?
Sí. Esta herramienta usa el motor RegExp integrado de JavaScript. Parte de la sintaxis puede diferir de PCRE (PHP), Python re, .NET o Java regex. La etiqueta del motor siempre se muestra.
¿Por qué mi regex funciona aquí pero no en Python?
Los motores de regex de JavaScript y Python difieren en algunas áreas. Por ejemplo, el lookbehind en JS debe ser de longitud fija en algunos navegadores, el comportamiento de \b con Unicode es diferente y los cuantificadores posesivos no están disponibles en JS.
¿Qué hace la bandera global (g)?
Sin la bandera global, solo se devuelve la primera coincidencia. Con g activada, todas las coincidencias no superpuestas en todo el texto son encontradas y listadas.
¿Por qué solo se muestra una coincidencia?
La bandera global (g) probablemente no está activada. Haz clic en el botón g en la fila de banderas para activarla y encontrar todas las coincidencias.
¿Qué son los grupos de captura?
Los paréntesis () en una regex crean grupos de captura que recuerdan el texto coincidente. El Grupo 1 es el primer conjunto de paréntesis, el Grupo 2 el segundo, etc. Los grupos con nombre usan la sintaxis (?<name>...).
¿Cómo funcionan los reemplazos como $1?
En la cadena de reemplazo, $1 se refiere al texto coincidido por el primer grupo de captura, $2 al segundo, y así sucesivamente. $& es la coincidencia completa. $<name> se refiere a un grupo con nombre.
¿Esta herramienta sube mis datos?
No. Todas las pruebas, coincidencias y reemplazos de regex se realizan completamente en tu navegador usando JavaScript. Tu texto y patrones nunca salen de tu dispositivo.
¿Por qué mi patrón es lento?
Algunos patrones causan backtracking catastrófico — tiempo de ejecución exponencial en ciertas entradas. Evita cuantificadores anidados como (a+)+, usa clases de caracteres específicas en lugar de .*, y prueba con entradas grandes cuidadosamente.
¿Qué es el backtracking catastrófico?
Cuando un motor de regex intenta muchas permutaciones para encontrar una coincidencia y falla, el tiempo de ejecución puede crecer exponencialmente. Esto ocurre típicamente con patrones ambiguos como (a+)+b en la entrada "aaaaaaaac".
¿Puedo probar grupos con nombre?
Sí. Usa la sintaxis (?<name>...) en tu patrón. Los grupos con nombre aparecen en el panel de Grupos de captura y pueden referenciarse en reemplazos con $<name>.
¿Esta herramienta soporta lookbehind?
Sí, en navegadores modernos. Lookbehind (?<=...) y (?<!...) son soportados en Chrome 62+, Firefox 78+ y Safari 16.4+. Navegadores antiguos pueden generar un error.