EN
↑↓ navegar Enter abrir Esc cerrar
Herramientas Dev

Probador y Explicador de Expresiones Regulares (RegEx)

Prueba, analiza y valida tus expresiones regulares con resaltado de sintaxis y explicación interactiva.

/ /

Guía Completa de Expresiones Regulares (RegEx): Sintaxis, Tokens, Modificadores y Patrones Reales

Las Expresiones Regulares (conocidas comúnmente como RegEx o RegExp) son patrones formales utilizados para la búsqueda, validación sintáctica, extracción léxica y sustitución de cadenas de texto en todos los lenguajes de programación modernos (JavaScript, Python, PHP, Java, C#, Go y bases de datos SQL). Permiten formular reglas complejas de filtrado con una sintaxis compacta y altamente eficiente.

Este Probador y Depurador de Expresiones Regulares ejecuta la compilación y evaluación de patrones en tiempo real directamente en tu navegador. Ya sea que estés construyendo validaciones de formularios web, analizando logs de servidores Apache/Nginx o diseñando expresiones complejas con grupos de captura y lookaheads, esta herramienta te ofrece retroalimentación inmediata y resaltado visual por colores.

Metacaracteres Fundamentales y Clases de Caracteres

El dominio de las expresiones regulares parte del conocimiento de los comodines y delimitadores básicos:

  • . (Punto): Coincide con cualquier carácter individual excepto saltos de línea (a menos que se active el flag s).
  • \d / \D: Coincide con cualquier dígito numérico ([0-9]) / cualquier carácter que no sea dígito.
  • \w / \W: Coincide con cualquier carácter alfanumérico o guion bajo ([a-zA-Z0-9_]) / cualquier carácter no alfanumérico.
  • \s / \S: Coincide con cualquier espacio en blanco (espacios, tabulaciones, saltos) / cualquier carácter no blanco.
  • ^ y $: Anclan la búsqueda al inicio y al final del texto (o de cada línea si se activa el flag m).
  • [abc] / [^abc]: Coincide con cualquier carácter del conjunto / excluye los caracteres del conjunto.

Cuantificadores: Evaluación Codiciosa (Greedy) vs Perezosa (Lazy)

Los cuantificadores determinan cuántas repeticiones consecutivas de un token deben coincidir:

  • * (0 o más veces, codicioso) | *? (0 o más veces, perezoso / non-greedy).
  • + (1 o más veces, codicioso) | +? (1 o más veces, perezoso).
  • ? (0 o 1 vez / token opcional).
  • {n,m}: Coincide entre n y m repeticiones (ej. \d{4,8} para códigos PIN).

Significado de los Modificadores (Flags) de RegEx

Los modificadores cambian el comportamiento del motor de búsqueda:

  • Global (g): Busca todas las apariciones en el texto en lugar de detenerse tras el primer resultado.
  • Insensible a Mayúsculas (i): Iguala mayúsculas y minúsculas sin distinción (/hola/i coincide con Hola y HOLA).
  • Multilínea (m): Hace que ^ y $ reconozcan el inicio y fin de cada línea individual del texto.
  • DotAll (s): Permite que el punto (.) reconozca también los caracteres de salto de línea (\n).
  • Unicode (u): Interpreta la cadena respetando el rango completo de puntos de código Unicode y emojis.

Prevención del Backtracking Catastrófico y Vulnerabilidades ReDoS

El backtracking catastrófico ocurre cuando una expresión regular mal diseñada combina cuantificadores anidados sobre grupos abiertos, obligando al motor a evaluar millones de combinaciones ante cadenas que no coinciden. Para proteger tus aplicaciones, acota siempre las clases de caracteres, evita anidar cuantificadores repetitivos (como (a+)+$) y valida límites de longitud. Si necesitas manipular cadenas de URLs, visita nuestro Codificador/Decodificador URL, o explora la sintaxis temporal en el Generador de Expresiones Cron.

Seguridad y Privacidad Absoluta en Local

La depuración de logs o textos con datos sensibles requiere máxima confidencialidad. El probador de RegEx de iDiUtils funciona al 100% de manera local en el motor JavaScript de tu navegador. Ningún fragmento de texto ni patrón se transmite a servidores remotos. Para más herramientas de programación, consulta nuestro Hub de Herramientas para Desarrolladores o formatea estructuras de datos en el Formateador JSON.

Ejemplo Práctico

Ejemplo 1: Validación Estricta de Correos Electrónicos
Entrada: Patrón: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Resultado generado: Coincidencias: "usuario@idiutils.com", "soporte.tecnico+test@dominio.es"

Comprueba la estructura estándar de un email con usuario, arroba, dominio y extensión TLD.

Ejemplo 2: Extracción de Direcciones IPv4 en Logs de Servidor
Entrada: Patrón: \b(?:\d{1,3}\.){3}\d{1,3}\b (Flag: /g)
Resultado generado: Coincidencias: "192.168.1.1", "10.0.0.254"

Extrae direcciones IP en notación decimal separadas por puntos con delimitadores de palabra.

Cómo Probar y Depurar Expresiones Regulares en 4 Pasos

1

Introduce el Patrón de Expresión Regular

Escribe tu regla o patrón regex en el campo superior delimitado por barras inclinadas.

2

Activa los Modificadores (Flags)

Marca las casillas correspondientes a búsqueda global (g), mayúsculas/minúsculas (i), multilínea (m) o Unicode (u).

3

Pega el Texto de Prueba

Introduce en el área de texto el fragmento de código, log o cadena sobre la que deseas evaluar el patrón.

4

Revisa las Coincidencias y Copia los Resultados

Observa los fragmentos resaltados en tiempo real, verifica el contador de coincidencias y pulsa en "Copiar Coincidencias".

Preguntas Frecuentes sobre el Tester de Expresiones Regulares

¿Qué es una Expresión Regular (RegEx) y para qué se utiliza?

Una Expresión Regular (RegEx o RegExp) es una secuencia formal de caracteres que define un patrón de búsqueda textual. Se utiliza en programación, validación de formularios, scraping y análisis de logs para buscar, extraer o reemplazar subcadenas específicas dentro de un texto.

¿Cuál es la diferencia entre un cuantificador codicioso (greedy) y uno perezoso (lazy)?

Un cuantificador codicioso (como .* o +) abarca el mayor número posible de caracteres coincidentes. Al añadir un signo de interrogación (.*? o +?), se convierte en perezoso (non-greedy), deteniéndose en la primera coincidencia que satisfaga la regla.

¿Qué función cumplen los modificadores o flags g, i, m, s y u en RegEx?

El flag "g" (global) encuentra todas las coincidencias en el texto. El flag "i" ignora diferencias entre mayúsculas y minúsculas. El flag "m" (multilínea) hace que los anclajes ^ y $ coincidan con el inicio y fin de cada línea. El flag "s" (dotAll) permite que el punto coincida también con saltos de línea. El flag "u" activa el soporte Unicode completo.

¿Cómo puedo evitar bucles infinitos o el backtracking catastrófico en expresiones complejas?

El backtracking catastrófico ocurre cuando se combinan cuantificadores anidados sobre grupos ambiguos (ej. (a+)+). Para evitarlo, utiliza clases de caracteres restrictivas, evita repeticiones redundantes y limita la amplitud de los comodines.

¿Es seguro probar patrones y textos confidenciales en este tester de RegEx?

Sí. Toda la compilación del patrón y el resaltado visual se ejecutan en tiempo real en el motor JavaScript de tu navegador. Ningún texto de prueba ni patrón se envía a servidores externos, garantizando total privacidad.

Compartir esta herramienta

Ayuda a otras personas compartiendo esta herramienta gratuita.