¿Cómo usar esta herramienta?
- Introducir su patrón regex en el campo superior.
- Pegar la cadena de prueba en el campo inferior — las coincidencias se resaltan inmediatamente.
- Activar flags como g, i, m o s mediante la barra de casillas.
- Copiar el resultado o compartirlo mediante la URL de compartición.
¿Qué hace este probador de Regex?
Una expresión regular (regex) describe un patrón de búsqueda para cadenas. El tester toma su patrón, lo aplica a una cadena de prueba y muestra inmediatamente todas las coincidencias resaltadas en color. Los grupos de captura — con nombre y sin nombre — se desglosan individualmente, de modo que vea qué parte del patrón hace match con qué sección de la cadena.
La ejecución usa el objeto JavaScript nativo RegExp directamente en el navegador. Ningún servidor recibe su patrón ni sus datos de prueba. Esto es especialmente relevante cuando trabaja con datos de producción: líneas de log, rutas de petición, tokens de autenticación o direcciones IP no pintan nada en servidores ajenos — tampoco para probar regex.
¿Qué flags de regex hay?
JavaScript conoce seis flags relevantes que controlan el comportamiento de matching:
| Flag | Nombre | Efecto |
|---|---|---|
g | Global | Encuentra todas las coincidencias en vez de solo la primera. |
i | Case-Insensitive | Ignora mayúsculas/minúsculas. |
m | Multiline | ^ y $ hacen match con inicio/fin de línea en vez de inicio/fin de cadena. |
s | DotAll | . también hace match con \n (salto de línea). |
u | Unicode | Activa reconocimiento Unicode (escapes \p{...}, manejo correcto de surrogados). |
v | UnicodeSets | ES2024: operaciones Unicode Set ([\p{Lu}&&\p{Script=Latin}]). Incluye /u. |
Importante: /u y /v juntos no son válidos — /v es el sucesor de /u e incluye su funcionalidad. El tester muestra un aviso si ambos se activan a la vez.
¿Cómo funcionan los grupos de captura y las referencias hacia atrás?
Los grupos de captura permiten extraer por separado partes de una coincidencia. Los grupos con nombre ((?<name>...)) mejoran la legibilidad y hacen el código más robusto que las referencias numeradas:
Patrón: (?<anio>\d{4})-(?<mes>\d{2})-(?<dia>\d{2})
Entrada: 2026-04-21
Match: anio=2026, mes=04, dia=21
El tester muestra cada grupo con nombre y posición — verá inmediatamente si su patrón extrae las partes correctas.
¿Qué trampas hay?
Flag g olvidado
Sin g, .match() solo devuelve la primera coincidencia. En muchos casos de uso (parsing de logs, validación en masa), eso es un error que solo se ve en producción.
Escapado de backslash
En un literal de string JavaScript necesita backslashes dobles: new RegExp("\\d+") en vez de new RegExp("\d+"). En literales regex (/\d+/) eso desaparece. El tester trabaja con formato literal — al portar a argumentos string, debe duplicar los backslashes.
Diferencias de dialecto
Un patrón que funciona en regex101 (motor PCRE) puede fallar en JavaScript en:
- Clases POSIX (
[:alpha:],[:digit:]) — no disponibles en JS, en su lugar\p{Letter}con flag/u. - Grupos atómicos (
(?>...)) — no soportados nativamente en JS. - Longitud variable de lookbehind — soportada en JS desde ES2018, no soportada en Go/RE2.
- Patrones recursivos (
(?R)) — solo en PCRE, no en JS.
Quien porta patrones entre lenguajes debería probar directamente en el lenguaje destino.
Backtracking catastrófico
El patrón (a+)+$ puede explorar exponencialmente muchos caminos con la entrada aaaaaaaaaaaaaab. En producción eso lleva a peticiones colgadas o event-loops bloqueados. Antídotos:
- Cuantificadores posesivos (
a++) — disponibles en PCRE, no en JS. - Grupos atómicos — no nativos en JS, pero simulables reescribiendo con lookahead.
- Simplificación del patrón:
a+$en vez de(a+)+$entrega el mismo resultado sin riesgo de backtracking.
¿Qué funciones ES2024/2025 se soportan?
Las regex de JavaScript evolucionan. Tres funciones son especialmente relevantes en 2026:
Flag /v (Unicode Sets): permite operaciones Set en clases de caracteres. [\p{Script=Latin}&&\p{Lu}] hace match solo con mayúsculas latinas. Disponible en Chrome 112+, Safari 17+, Firefox 116+.
Pattern Modifiers (?i:...): permite cambiar de flag a mitad del patrón. foo(?i:bar)baz hace match con fooBarBaz, pero no con FOOBarBaz. Disponible en Chrome 125+, Edge 125+. El soporte de Firefox aún está pendiente (estado abril 2026).
RegExp.escape(): escapa caracteres especiales en una cadena para que pueda usarse de forma segura como literal regex. Actualmente Stage 3 (TC39), aún sin soporte de navegador — pero la función resuelve un error frecuente (puntos, paréntesis, asteriscos sin escapar en patrones dinámicos).
Privacidad — 100 % en el navegador
regex101.com — el tester de regex más conocido — envía patrón y cadena de prueba a un servidor backend. Es problemático cuando trabaja con datos de producción:
« those logs contained client IPs, user agents, and request paths from production. All of it, shipped off to someone else’s server. »
Este tester procesa todo localmente mediante el objeto JavaScript nativo RegExp. Sin logging, sin tracking, sin contacto con servidor. Conforme con el RGPD porque no hay procesamiento en servidores externos.
¿Qué ejemplos de uso hay?
- Parsing de logs: filtrar logs de servidor por direcciones IP, códigos de estado o timestamps — directamente en el navegador, sin subir datos.
- Validación de formulario: probar patrones de e-mail, CP o IBAN antes de que vayan al código de producción.
- Extracción de datos: definir grupos de captura para filas CSV, campos JSON o enlaces Markdown y comprobarlos inmediatamente contra datos de ejemplo.
- Migración de código: portar patrones entre PCRE y JavaScript y reconocer inmediatamente las diferencias de dialecto.
- Aprendizaje: probar sintaxis regex interactivamente, entender flags y reconocer trampas de backtracking.
Preguntas frecuentes
Las respuestas a las preguntas principales están arriba en el bloque FAQ — se emiten como JSON-LD estructurado (FAQPage) para los buscadores.
¿Qué herramientas de desarrollo están relacionadas?
Otras herramientas del ecosistema convertidor que encajan con el tema:
- Formateador JSON — hacer legible JSON en bruto con indentado limpio y reconocer errores de sintaxis.
- Generador UUID — generar UUID criptográficamente seguros (v4 y v7) directamente en el navegador.
- Contador de caracteres — contar y analizar caracteres, palabras y líneas en cualquier texto.
Última actualización: