Probador Regex, Explicador y Generador

Pruebe, explique en lenguaje claro y genere expresiones regulares desde ejemplos sin latencia. Incluye escudo anti-ReDoS, grupos de captura y pruebas unitarias.

Herramientas en Línea
ESTUDIO DE SINTAXIS MODERNA • AST Y ESCUDO ANTI-REDOS
100% en el Navegador • Cero Latencia y Privacidad Total
Bloques Visuales en 1 ClicCargue patrones verificados con grupos de captura y pruebas unitarias al instante:
//gm
/^([A-Z]{3})-(\d{4})-([A-Z0-9]{1,4})$/gm
Resaltado Bidireccional Activo
Banderas (Flags)
Global (g) • Multilínea (m)
Coincidencias4
Grupos Activos3
Tiempo Ejecución0.10 ms
Estado EscudoAST Válido • Seguro Anti-ReDoS

Explicador Visual en Lenguaje Claro

Pase el cursor sobre cualquier píldora visual debajo para resaltar ese segmento exacto en la barra regex Y resaltar los caracteres coincidentes en el texto.

^Ancla
Inicio del texto / línea
([A-Z]{3})#1 Grupo Captura
Grupo de Captura #1: Exactamente 3 letras mayúsculas (A-Z)
-Literal
Carácter exacto "-"
(\d{4})#2 Grupo Captura
Grupo de Captura #2: Exactamente 4 dígitos (0-9)
-Literal
Carácter exacto "-"
([A-Z0-9]{1,4})#3 Grupo Captura
Grupo de Captura #3: Un único carácter del conjunto: A-Z0-9 — Repite de 1 a 4 veces
$Ancla
Final del texto / línea
Coincidencia Total ($&)Grupo $1 (Violeta)Grupo $2 (Cian)Grupo $3 (Ámbar)
Pase el cursor sobre cualquier coincidencia en el texto para ver su índice exacto y grupos capturados.

Edite el texto de prueba abajo. Las coincidencias completas brillan en Esmeralda; los Grupos 1, 2 y 3 en Violeta, Cian y Ámbar.

Resaltado de Coincidencia Total ($&) y Grupos de Captura
INV-2026-0042 ORD-8841-X SKU-9948-A1 ERR_CONNECTION_TIMEOUT LOG-2025-0099
Resultado Transformado en Vivo
[INV] #2026/0042
[ORD] #8841/X
[SKU] #9948/A1
ERR_CONNECTION_TIMEOUT
[LOG] #2025/0099

Inspector de Coincidencias y Grupos de Captura(4)

#1 "INV-2026-0042"Índice: 0–13
$1: INV$2: 2026$3: 0042
#2 "ORD-8841-X"Índice: 14–24
$1: ORD$2: 8841$3: X
#3 "SKU-9948-A1"Índice: 25–36
$1: SKU$2: 9948$3: A1
#4 "LOG-2025-0099"Índice: 60–73
$1: LOG$2: 2025$3: 0099

Cómo Usar el Probador Regex, Explicador y Generador de Patrones

Domine la síntesis por ejemplos, el análisis visual AST y las pruebas unitarias en 6 pasos:

01

Ingrese un Regex o Elija un Bloque Visual

Escriba su expresión regular arriba o haga clic en un Bloque Visual en 1 Clic (ID Alfanumérico, Correo, URL, IPv4, Fecha YYYY-MM-DD, Color Hex, Contraseña Fuerte).

02

Inspeccione las Píldoras en Lenguaje Claro

Pase el cursor sobre cualquier píldora de color debajo de la barra para leer su traducción en español y resaltar simultáneamente el segmento regex y el texto capturado.

03

Analice el Resaltado Multicapa

En el Área de Texto Libre, verifique las coincidencias completas en Esmeralda y los grupos de captura $1 (Violeta), $2 (Cian) y $3 (Ámbar) con sus índices exactos.

04

Sintetice Patrones desde Ejemplos

¿No domina la sintaxis regex? Abra «Generar desde Ejemplos», pegue de 2 a 5 códigos como ORD-8841-X y elija entre Estructura Exacta, Longitud Flexible o Extractor.

05

Ejecute la Suite de Pruebas Multi-Cadena

Cambie a la pestaña «Suite de Pruebas Multi-Cadena» para validar casos positivos y negativos simultáneamente viendo cada grupo extraído en columnas dinámicas.

06

Formatee con $1–$3 y Exporte Código

Use el panel «Reemplazar / Formatear» para transformar datos en tiempo real y exporte el código listo para JS/TS, Python, PHP, Go o C#.

Preguntas Frecuentes sobre Expresiones Regulares

Respuestas claras sobre acentos y eñes, cuantificadores perezosos, síntesis por ejemplos y seguridad:

P:¿Por qué \w+ corta las palabras con tilde (á, é, í, ó, ú), diéresis (ü) o la letra ñ, y cómo lo evito?

Por diseño histórico, el atajo \w solo comprende letras inglesas sin acento, números y el guion bajo ([A-Za-z0-9_]). Cuando encuentra una tilde o una ñ, da por terminada la palabra. Para capturar palabras completas sin cortes, utiliza un conjunto explícito como [a-zA-ZáéíóúüñÁÉÍÓÚÜÑ]+ o activa la bandera Unicode (u) y emplea la propiedad \p{L}+.

P:¿Cómo extraigo el texto entre signos de apertura y cierre (¿...? o «...») sin capturar todo el párrafo?

Los cuantificadores + y * son «codiciosos» por defecto: si tienes dos preguntas en la misma línea y usas ¿.*\?, el patrón abarcará desde el primer signo de apertura hasta el último de cierre de la línea. Añade un signo de interrogación detrás del cuantificador (¿.*?\?) para volverlo «perezoso», o usa una clase negada como ¿[^?]+\? para detener la búsqueda en el primer cierre.

P:¿Qué ventaja práctica ofrece el desglose en píldoras visuales frente a leer la expresión de corrido?

En patrones llenos de barras invertidas y paréntesis es muy fácil pasar por alto un cuantificador mal colocado. El explicador divide la expresión en bloques interactivos en lenguaje cotidiano (traduciendo por ejemplo \d+ como «Uno o más dígitos (0-9)») y, al pasar el ratón por encima, ilumina tanto esa pieza del patrón como el fragmento exacto que captura en tu texto.

P:¿Cómo funciona «Generar desde Ejemplos» cuando mis códigos de catálogo tienen longitudes distintas como SKU-99-A y SKU-99481-B?

Al pegar muestras con distinta cantidad de cifras, el motor compara la longitud mínima y máxima de cada tramo. En el modo «Estructura Exacta» generará un rango acotado como ^SKU-\d{2,5}-[A-Z]$, mientras que en «Longitud Flexible» lo simplificará a ^SKU-\d+-[A-Z]+$ para admitir cualquier número de dígitos en el futuro.

P:¿Cómo puedo validar importes con coma decimal (ej. 1.450,75) sin que el punto acepte letras por error?

En regex, el punto sin escapar (.) representa cualquier carácter, por lo que 1.450 coincidiría también con 1A450. Para exigir literalmente el punto separador de miles y dos decimales tras la coma, escapa siempre el punto con barra invertida: ^\d{1,3}(?:\.\d{3})*,\d{2}$.

P:¿Por qué una expresión con repeticiones anidadas como (a+)+ puede bloquear un servicio y cómo lo frena el escudo de 150ms?

Cuando anidas un cuantificador dentro de otro y el texto de entrada falla en el último carácter, el motor prueba todas las combinaciones posibles de reparto, multiplicando exponencialmente (2^n) el tiempo de CPU. Nuestro analizador detecta ese riesgo antes de que ocurra y corta cualquier ejecución que supere los 150ms, procesando todo 100% dentro de tu navegador.

Complejidad de Backtracking NFA vs. Límite Lineal
TReDoS (n) = O(2n) vs. Tseguro (n) = O(n · |Σ|) ≤ 150 ms
Tasa de Éxito de la Suite Multi-Cadena
Psuite =
Mpos + Rneg Ntotal
· 100%
Deducción de Intervalos del Sintetizador
Qseg (k) = Ck{min(|si,k|), max(|si,k|)}
  • TReDoS(n): Crecimiento exponencial de pasos provocado por cuantificadores anidados como (a+)+ sobre longitud n, detenido por el disyuntor de 150 ms.
  • Psuite: Porcentaje de pruebas unitarias superadas combinando coincidencias positivas (Mpos) y rechazos negativos (Rneg).
  • Qseg(k): Intervalo de cuantificación deducido para el segmento k a partir de la longitud mínima y máxima de las muestras.

¿Qué es Probador Regex, Explicador y Generador?

Trabajar con expresiones regulares suele parecerse a resolver un rompecabezas a ciegas: basta con olvidar escapar un punto o colocar mal un cuantificador para que una validación acepte datos corruptos sin avisar. Este Probador Regex, Explicador en Lenguaje Claro y Generador de Patrones convierte esa sintaxis compacta en bloques visuales fáciles de seguir. Todo el procesamiento ocurre al 100% dentro de tu navegador, por lo que puedes analizar registros internos, catálogos de productos o reglas de negocio con total privacidad.

Cuatro herramientas pensadas para depurar sin frustración

En lugar de enfrentarte a una expresión como ^([A-Z]{3})-(\d{4})-([A-Z0-9]{1,4})$ de una sola pieza, el espacio de trabajo divide el problema en pasos claros:

  • Píldoras visuales interactivas: Cada símbolo se traduce al español cotidiano (mostrando, por ejemplo, \d+ como «Uno o más dígitos (0-9)»). Al pasar el cursor sobre cualquier píldora, se iluminan a la vez esa parte del patrón y el texto exacto que captura abajo.
  • Generador automático desde ejemplos: Si no quieres escribir el patrón desde cero, pega entre 2 y 5 códigos de muestra (como SKU-99-A y SKU-99481-B) y deja que el sintetizador calcule los rangos por ti.
  • Matriz de pruebas positivas y negativas: Comprueba de un vistazo que todas las entradas válidas pasen la prueba (+) y que los formatos rotos como 2026-13-01 sean rechazados (–), viendo cada grupo capturado en su propia columna.
  • Disyuntor de 150ms contra bloqueos (Anti-ReDoS): Detecta cuantificadores anidados peligrosos como (a+)+ antes de que puedan congelar la pestaña del navegador.

Patrones Prácticos para Tildes, Eñes, Importes y Catálogos

Objetivo de BúsquedaExpresión RecomendadaExplicación PrácticaEjemplo Coincidente
Palabras con tildes, ü y ñ[a-zA-ZáéíóúüñÁÉÍÓÚÜÑ]+Evita que el atajo \w+ corte las palabras al encontrar una vocal acentuada o una eñe.Código, diseño, bilingüe, año
Frases entre signos ¿...?¿([^?]+)\?Usa una clase negada [^?]+ para detenerse exactamente en el primer cierre de interrogación.¿Estado activo? → $1 = "Estado activo"
Importes con coma decimal\d{1,3}(?:\.\d{3})*,\d{2}Exige el punto literal (\.) para los miles y dos cifras decimales tras la coma.1.450,75 / 89,90 / 24.000,00
SKU de longitud variable^SKU-(\d{2,5})-([A-Z])$Acepta códigos de entre 2 y 5 dígitos manteniendo fija la estructura del prefijo y sufijo.SKU-99-A y SKU-99481-B
Fecha en formato DD/MM/AAAA(?<dia>0[1-9]|[12]\d|3[01])\/(?<mes>0[1-9]|1[0-2])\/(?<anio>\d{4})Extrae día, mes y año mediante grupos con nombre para reordenarlos fácilmente.02/11/2026 → anio = "2026"

Caso Práctico: Normalizar un Catálogo de Comercio Electrónico en Segundos

Imagina que recibes un listado de inventario con líneas desordenadas como Ref: SKU-99481-A | Precio: 149,90 | Stock: 25 mezcladas con avisos de fallo como ERR_CONNECTION_TIMEOUT. Si pegas un par de referencias en la pestaña Generar desde Ejemplos para obtener la base del SKU y completas el patrón (SKU-\d{2,5}-[A-Z]).*?Precio:\s*(\d+,\d{2}).*?Stock:\s*(\d+), verás cada código, importe y cantidad resaltados en tres colores distintos. Después, abre Reemplazar / Formatear, escribe $1 | $2 | $3 uds y obtendrás al instante una lista limpia lista para importar en tu base de datos.

Historia y Origen

Las expresiones regulares nacieron a mediados del siglo XX como una notación matemática creada para describir cómo las máquinas de estados finitos procesan cadenas de símbolos. En aquella época no existían los editores de código modernos; el objetivo era demostrar propiedades lógicas sobre lenguajes formales de manera rigurosa.

Su salto al desarrollo de software ocurrió cuando los pioneros de las herramientas de línea de comandos buscaron una forma rápida de filtrar texto sin escribir un programa nuevo para cada búsqueda. Al compilar el patrón directamente en un autómata en memoria, lograron búsquedas instantáneas. Con la llegada de las bibliotecas PCRE y las versiones modernas de ECMAScript, aquella notación sumó grupos con nombre, aserciones anticipadas (lookaheads) y soporte nativo para caracteres Unicode, convirtiéndose en el estándar universal para validar y transformar texto.