Probador de regex
NuevoPrueba expresiones regulares con resaltado de coincidencias en vivo, grupos de captura y vista previa de reemplazo.
Match highlight
Matches & groups
Replace
Regex cheatsheetquick reference
- \d \D
- digit / non-digit
- \w \W
- word char / non-word char
- \s \S
- whitespace / non-whitespace
- .
- any char (except newline without s flag)
- ^ $
- start / end of string (line with m flag)
- \b \B
- word boundary / non-boundary
- [abc] [^abc]
- char set / negated set
- [a-z0-9]
- char range
- a* a+ a?
- 0+ / 1+ / 0 or 1
- a{3} a{2,5} a{2,}
- exactly 3 / 2–5 / 2 or more
- a*? a+?
- lazy (non-greedy) quantifiers
- (abc)
- capture group → $1
- (?<name>abc)
- named group → $<name>
- (?:abc)
- non-capturing group
- a|b
- alternation (a or b)
- \1 \k<name>
- backreference
- (?=abc) (?!abc)
- lookahead / negative lookahead
- (?<=abc) (?<!abc)
- lookbehind / negative lookbehind
- \n \t \r
- newline / tab / carriage return
- \. \* \\
- escaped literal . * \
Runs entirely in your browser. Nothing is uploaded.
Prueba expresiones regulares en tiempo real, con JavaScript nativo
Este tester de regex gratuito resalta cada coincidencia en el momento en que escribes, usando el motor de expresiones regulares nativo de tu navegador — lo que coincide aquí es exactamente lo que coincidirá en tu código frontend o en Node.js. Activa cualquiera de los seis flags (g, i, m, s, u, y), y los patrones inválidos muestran el mensaje de error real del motor en vez de fallar en silencio.
Debajo del resaltado en vivo obtienes una lista completa de coincidencias — cada una con su posición y todos los grupos de captura, numerados y nombrados — y un panel de reemplazo que previsualiza sustituciones con $1, $<nombre> y $& mientras escribes. Cuando el patrón funcione, haz clic en Copiar como JavaScript para obtener código listo para pegar.
Una alternativa enfocada a regex101.com y regexr.com
Los testers más completos como regex101.com soportan los sabores PCRE, Python, Golang y .NET junto con JavaScript — útil para comparar motores, pero más de lo necesario cuando solo quieres depurar un patrón JS. regexr.com muestra patrones de la comunidad y ofrece una guía de referencia. Ambos requieren navegar por múltiples pestañas para ir del resultado de una coincidencia a la previsualización del reemplazo.
Este probador de expresiones regulares online responde las tres preguntas más importantes del día a día en una sola pantalla limpia: ¿coincide?, ¿qué capturó?, ¿qué produce el reemplazo? Sin selección de sabor, sin cuenta, sin carga de archivos. A diferencia de regexpal.com (que solo muestra resaltado) o debuggex.com (que se centra en diagramas de vías visuales), esta herramienta añade extracción de grupos de captura por coincidencia y previsualización de reemplazo en vivo con soporte de backreferences.
Patrones de regex comunes, a un clic de distancia
La biblioteca integrada inserta patrones probados en producción con texto de muestra realista: dirección de email, URL, dirección IPv4, fecha ISO, hora de 24 horas, color hexadecimal, slug de URL, número de teléfono internacional, número (entero/decimal) y etiqueta HTML. Cada uno carga con ejemplos válidos e inválidos para que veas exactamente dónde están los límites del patrón.
Son puntos de partida, no verdades absolutas — modifícalos en el momento y observa cómo responde el resaltado. Los ejemplos incluyen deliberadamente casos límite (como 999.999.1.1 para IPv4) para que aprendas qué rechaza cada patrón, no solo qué acepta. Esto es mucho más rápido que copiar un patrón de Stack Overflow e intentar adivinar si maneja tus casos extremos.
Grupos de captura, lookarounds y los seis flags — totalmente soportados
El regex moderno de JavaScript tiene funciones potentes: grupos nombrados (?<año>\d{4}), lookahead (?=…) y lookbehind (?<=…), escapes de propiedades Unicode con el flag u, y coincidencia adhesiva con y. Este tester soporta todo, porque es el motor de JavaScript. El panel de coincidencias desglosa cada grupo por resultado para que la lógica de extracción sea verificable de un vistazo.
La demostración del flag m es favorita: con él, ^ y $ se anclan al inicio y fin de cada línea del texto de prueba — pega un archivo de log y observa cómo el patrón ^ERROR ilumina cada línea problemática. Activa s para que . coincida con saltos de línea dentro de cadenas multilínea sin necesidad de soluciones alternativas. Cada resultado que ves aquí es el mismo que producirá tu código.
Aprende regex más rápido con la hoja de trucos integrada
La hoja de trucos de regex desplegable cubre los tokens que usarás a diario — clases de caracteres (\d \w \s), anclas (^ $ \b), cuantificadores (* + ? {n,m} y sus formas perezosas), grupos, alternancia, backreferences y los cuatro tipos de lookarounds. Mantenla abierta mientras experimentas; ver el efecto de un token resaltado en vivo es la forma más rápida de que el regex realmente quede grabado.
Empieza simple: coincide con una palabra literal, añade una clase de caracteres, luego un cuantificador, luego un grupo. Cinco minutos de retroalimentación en vivo en un playground de regex enseñan más que una hora leyendo tablas de sintaxis. Funciona en móvil también — el diseño se adapta a pantallas pequeñas, para que puedas depurar patrones en iPhone o Android sin instalar ninguna aplicación.
Frequently asked questions
¿Qué es un tester de regex?
Un tester de regex es una herramienta interactiva donde escribes una expresión regular y texto de muestra, y resalta al instante cada coincidencia. Este tester muestra los valores de los grupos de captura — numerados y nombrados —, soporta los seis flags de JavaScript (g, i, m, s, u, y), ofrece una previsualización de reemplazo en vivo con backreferences, una biblioteca de patrones comunes y una hoja de trucos completa. Puedes depurar y verificar patrones antes de usarlos en el código, todo sin instalar nada ni crear una cuenta.
¿Cómo se compara este tester con regex101.com y regexr.com?
regex101.com y regexr.com son excelentes pero pueden resultar densos — múltiples sabores, un depurador completo, cuestionarios y patrones de la comunidad. Este tester se enfoca específicamente en el motor de JavaScript y responde las tres preguntas más importantes del día a día: ¿coincide?, ¿qué capturó?, ¿qué produce el reemplazo? Carga al instante, guarda tu trabajo localmente, funciona completamente en tu navegador y comparte patrones mediante un enlace codificado en la URL — sin necesidad de cuenta en ninguno de los dos. A diferencia de regex101, que soporta los sabores PCRE, Python y Golang, este tester ejecuta el motor nativo de JavaScript de tu navegador para que los resultados sean exactos.
¿Es diferente de regexpal.com o debuggex.com?
Sí. Regexpal ofrece resaltado simple pero sin desglose de grupos de captura y sin previsualización de reemplazo. Debuggex añade un diagrama de vías visual pero carece de la biblioteca de patrones comunes. Este tester agrega extracción de grupos de captura por coincidencia, un panel de reemplazo en vivo con soporte de backreferences $1/$<nombre>/$&, y una biblioteca de patrones con texto de muestra realista — todo mientras ejecuta el motor genuino de JavaScript para que los resultados coincidan exactamente con lo que produce tu código. Todo funciona sin conexión y no requiere ninguna carga de archivos.
¿Qué significa regex?
Regex es la abreviación de 'expresión regular' — una cadena de caracteres que define un patrón de búsqueda. Las expresiones regulares se usan para buscar, extraer, validar y reemplazar texto en prácticamente todos los lenguajes de programación y editores de texto. El término se remonta a la década de 1950 y al matemático Stephen Cole Kleene, pero el uso práctico del regex se popularizó masivamente con el lenguaje Perl en los años 80.
¿Cómo pruebo una expresión regular en JavaScript?
En JavaScript tienes varias opciones: usa regex.test(str) para una verificación de verdadero/falso, str.match(regex) para obtener el texto coincidente, str.matchAll(regex) para todas las coincidencias con detalles de grupos, o regex.exec(str) para iterar las coincidencias de una en una. Este tester ejecuta todo eso en vivo mientras escribes — y el botón 'Copiar como JavaScript' te entrega el código exacto para tu patrón, listo para pegar en tu proyecto.
¿Qué es un grupo de captura en regex?
Los paréntesis ( ) crean un grupo de captura que almacena lo que coincida dentro de ellos, recuperable como $1, $2, etc. Los grupos nombrados escritos como (?<nombre>...) permiten referenciar las capturas por nombre en lugar de número. Los grupos de captura te permiten extraer partes de una coincidencia — como el nombre de usuario y el dominio de una dirección de email — o reutilizarlos en reemplazos. El panel de coincidencias de este tester lista el valor de cada grupo por coincidencia, facilitando la verificación de tu lógica de extracción antes de usarla en código de producción.
¿Qué significan los flags de regex g, i, m, s, u e y?
g (global) encuentra todas las coincidencias en vez de detenerse en la primera; i (ignoreCase) hace que la coincidencia no distinga mayúsculas de minúsculas; m (multiline) hace que ^ y $ coincidan al inicio y fin de cada línea en lugar de toda la cadena; s (dotAll) hace que el punto también coincida con saltos de línea; u (Unicode) habilita soporte completo de Unicode y escapes de propiedades como \p{Letter}; y (sticky) ancla la coincidencia a lastIndex. Los seis flags se pueden activar en este tester con un solo clic.
¿Las expresiones regulares distinguen mayúsculas de minúsculas por defecto?
Sí — /hola/ coincide con 'hola' pero no con 'Hola'. Activa el flag i (ignoreCase) para que el patrón coincida independientemente de las mayúsculas. Esta es una fuente común de errores en lógica de validación — por ejemplo, un regex para email que falla al coincidir con 'Usuario@Ejemplo.COM' porque se olvidó el flag i.
¿Cuál es la diferencia entre match, test y exec en JavaScript?
test() devuelve un booleano — úsalo cuando solo necesites saber si algo coincide. match() llamado sobre la cadena devuelve un array de coincidencias o null. exec() llamado sobre el regex devuelve una coincidencia detallada a la vez y avanza por la cadena cuando el flag g está activo. matchAll() devuelve cada coincidencia con detalles completos de grupos en una sola llamada — suele ser la mejor opción para trabajos de extracción. Este tester ejecuta matchAll internamente y muestra todos los resultados en el panel de coincidencias.
¿Qué es un lookahead o lookbehind en regex?
Un lookahead (?=...) verifica que un patrón siga la posición actual sin consumir caracteres; un lookahead negativo (?!...) verifica lo contrario. El lookbehind (?<=...) y (?<!...) hacen lo mismo para lo que viene antes. Son útiles para condiciones como 'coincidir con un número que no vaya seguido de un signo de porcentaje' o 'coincidir con una palabra precedida de un signo de dólar'. Los cuatro tipos de lookaround funcionan en este tester porque el JavaScript moderno (V8) los soporta completamente.
¿El regex es igual en todos los lenguajes de programación?
No — los sabores de regex difieren significativamente. JavaScript, PCRE (usado por PHP y Perl), el módulo re de Python, .NET, Java y Ruby soportan diferentes sintaxis y funcionalidades. PCRE soporta cuantificadores posesivos y grupos atómicos que JavaScript no tiene; Python usa (?P<nombre>...) para grupos nombrados en lugar de (?<nombre>...); .NET añade grupos de balanceo. Este tester ejecuta el motor genuino de JavaScript/V8, por lo que los resultados coinciden exactamente con lo que producirá tu código frontend o Node.js.
¿Cómo uso regex para buscar y reemplazar texto?
En JavaScript, str.replace(/patrón/g, 'reemplazo') sustituye cada coincidencia. Usa $1 o $<nombre> en la cadena de reemplazo para insertar grupos capturados, y $& para toda la coincidencia. El panel de reemplazo de este tester previsualiza el resultado en vivo mientras escribes, para que puedas ver la sustitución antes de aplicarla en el código. También puedes usar una función como argumento de reemplazo para transformaciones más complejas — útil para cosas como poner en mayúscula cada coincidencia.
¿Qué significan \d, \w y \s en regex?
\d coincide con cualquier dígito (0–9), \w coincide con un carácter de palabra (letra, dígito o guión bajo), y \s coincide con espacios en blanco (espacio, tabulador, salto de línea). Sus formas en mayúscula \D, \W y \S coinciden con lo opuesto — todo lo que \d, \w y \s no coinciden. La hoja de trucos integrada lista estos y todos los demás tokens comunes con ejemplos. Las clases de caracteres son los bloques fundamentales de la mayoría de los patrones del mundo real.
¿Por qué mi regex coincide con demasiado texto (coincidencia codiciosa)?
Los cuantificadores como * y + son codiciosos por defecto — capturan la mayor cantidad de texto posible antes de retroceder. Añade ? para hacerlos perezosos (.*?), lo que los hace capturar la menor cantidad posible. Otra opción es usar una clase de caracteres negada como [^"]* para detenerse en un delimitador específico. Pega tu texto en este tester y verás la diferencia entre codiciosa y perezosa resaltada directamente — es la forma más rápida de entender qué está pasando.
¿Este tester de regex es gratis? ¿Puedo compartir un patrón?
Gratis, sin anuncios, sin registro. 'Copiar enlace para compartir' codifica tu patrón, flags y texto de prueba en la URL para que un compañero abra exactamente lo que estás viendo — sin necesidad de cuenta en ninguno de los dos extremos. Tu trabajo también se guarda automáticamente de forma local en tu navegador para que esté disponible cuando vuelvas. A diferencia de regex101, que requiere inicio de sesión para guardar y compartir patrones permanentemente, esta herramienta te proporciona una URL compartible de forma instantánea.
Related tools
Ver todas las herramientasCodificar / Decodificar URL
Codifica o decodifica texto en porcentaje y analiza cadenas de consulta, todo en tu navegador.
Codificar / Decodificar entidades HTML
Convierte y revierte entidades HTML, con codificación numérica opcional.
Constructor de expresiones Cron
Explica una programación cron en lenguaje claro y previsualiza sus próximas ejecuciones.
Minificador de HTML
Comprime HTML eliminando comentarios y colapsando los espacios en blanco.
Minificador de CSS
Reduce el CSS quitando comentarios y los espacios en blanco innecesarios.
Escapar / Desescapar JSON
Escapa texto en bruto a una cadena segura para JSON y desescápala de vuelta.