Validador de Regex (Expresiones Regulares)

Prueba tu expresión regular contra un texto, detecta errores y visualiza coincidencias, grupos y posiciones. Ideal para depurar regex en JavaScript.

Online Gratis
← Herramientas Usar ahora

Validador de Regex (Expresiones Regulares)

Introduce una regex, define flags (g, i, m, s, u, y) y pruébala contra un texto. Verás coincidencias, grupos capturados y posiciones para depurar rápidamente.

✅ Valida sintaxis 🔎 Encuentra matches 🧩 Grupos y posiciones 🔒 Sin enviar a terceros
Formato interpretado como new RegExp(patrón, flags) (JavaScript). Si pegas /patron/gi, lo normalizamos automáticamente.

Cómo usar este validador de regex (sin dolores de cabeza)

Las expresiones regulares (regex) son una de esas herramientas que, cuando funcionan, te ahorran muchísimo tiempo… y cuando no, pueden convertir un bug simple en una tarde entera de frustración. Este validador está pensado para el flujo real de un desarrollador: escribes un patrón, lo pruebas contra texto real, y el resultado te muestra rápidamente qué coincide, dónde y qué capturan los grupos.

Aquí trabajamos con el motor de JavaScript (RegExp). Eso significa que la sintaxis general es compatible con muchos entornos, pero hay diferencias con PCRE (PHP), Python o .NET. Por eso, además del resultado, incluimos una tabla comparativa más abajo para que puedas evitar el típico “en mi lenguaje funciona y aquí no”.

1) Patrón + flags: lo mínimo para empezar

En el campo Regex pega tu patrón. Puedes escribirlo como (\b\w+\b) o pegarlo como literal /\b\w+\b/g. Si lo pegas con barras /.../gi, lo normalizamos automáticamente. Los flags más comunes:

  • g: busca todas las coincidencias, no solo la primera.
  • i: ignora mayúsculas/minúsculas.
  • m: modo multilínea (afecta a ^ y $).
  • s: dotAll, permite que . incluya saltos de línea.
  • u: unicode (recomendado si trabajas con emojis o caracteres no ASCII).
  • y: sticky (coincide desde la posición actual).

2) Qué significa “mostrar coincidencias” de verdad

No solo listamos el texto coincidente: para cada match mostramos su índice de inicio y fin, y los grupos capturados. Esto es clave cuando usas paréntesis para extraer partes (por ejemplo, usuario y dominio de un email). Además, la vista resaltada te permite ver visualmente si estás capturando demasiado, demasiado poco, o si tu patrón se “come” separadores.

3) Errores típicos (y cómo detectarlos en 10 segundos)

  • Barra invertida: en muchos ejemplos verás \d. Si estás en un string, necesitas escapar; si es literal regex, no.
  • Cuantificadores codiciosos: .* suele capturar “demasiado”. Prueba .*? (lazy) si aplica.
  • Clases mal cerradas: [a-z o paréntesis sin cerrar son errores de sintaxis inmediatos.
  • Lookbehind: algunos entornos no lo soportan igual. En JS moderno suele estar, pero cuidado con compatibilidad.

Tabla comparativa rápida (JS vs PCRE/PHP vs Python)

Característica JavaScript (RegExp) PHP (PCRE) Python (re)
Flags g i m s u y i m s u x (y más) re.I re.M re.S re.U
Named groups (?<name>...) (?<name>...) (?P<name>...)
Global matches flag g + iteración preg_match_all findall / finditer
Lookbehind Soportado en JS moderno Soportado (PCRE) Soportado

Ejemplos prácticos con código

Ejemplo 1: Extraer emails

const re = /\b[\w.%+-]+@[\w.-]+\.[A-Za-z]{2,}\b/g;
const text = "Contacta: test@dominio.com y admin@site.es";
console.log(text.match(re));

Ejemplo 2: Validar (simple) una fecha YYYY-MM-DD

const re = /^\d{4}-\d{2}-\d{2}$/;
console.log(re.test("2026-02-18"));

Ejemplo 3: Capturar grupos (usuario y dominio)

const re = /([\w.%+-]+)@([\w.-]+\.[A-Za-z]{2,})/;
const m = "test@dominio.com".match(re);
console.log(m[1], m[2]); // usuario, dominio

Enlaces internos recomendados (herramientas)

Consejo: si estás creando validaciones “de negocio”, evita regex gigantes. Úsalas para prefiltrar y luego valida con lógica (fechas reales, dominios permitidos, rangos, etc.). Regex es genial… pero no reemplaza validación semántica.