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-zo 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 |
Examples prácticos con código
Example 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));
Example 2: Validar (simple) una fecha YYYY-MM-DD
const re = /^\d{4}-\d{2}-\d{2}$/;
console.log(re.test("2026-02-18"));
Example 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)
- Conversor Base64 (Encode/Decode)
- Generador de Hash (MD5/SHA)
- Validador y Formateador de JSON
- Validador y Formateador de XML
- Generador de Contraseñas Seguras
- Validador / Analizador de JWT
- Conversor Timestamp ↔ Fecha
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.