Probador de regex
Se ejecuta en tu navegador; no se sube nada
Prueba expresiones regulares de JavaScript con tu texto, con grupos de captura y reemplazo.
Test text
Type a pattern
¿Qué es una expresión regular?
Una expresión regular, o regex, es un patrón que describe un conjunto de cadenas. \d{3} significa tres dígitos, [a-z]+ una o más letras minúsculas, y ^ y $ anclan la coincidencia al principio y al final. Los programas usan patrones para buscar, extraer, validar y reemplazar texto.
Las partes de un patrón entre paréntesis son grupos de captura. En (\d{4})-(\d{2}) aplicado a 2025-07, el grupo 1 es 2025 y el grupo 2 es 07. Los grupos con nombre, como (?<year>\d{4}), permiten referirse a una parte por su nombre. Los flags cambian el comportamiento de todo el patrón: i ignora mayúsculas y minúsculas, y g encuentra todas las coincidencias en lugar de solo la primera.
Este probador usa el RegExp de JavaScript, el motor de los navegadores y de Node.js, así que un patrón que funciona aquí funciona igual en JavaScript y TypeScript. Otros lenguajes comparten casi toda la sintaxis, pero no toda; las preguntas de abajo recogen las diferencias más habituales.
Cómo usar esta herramienta
- 1Escribe un patrón en la caja entre las barras, sin las barras. Presets carga un patrón con un texto de ejemplo.
- 2Activa y desactiva flags en la barra de herramientas:
gglobal,iignorar mayúsculas,mmultilínea,sdotAll,uyvmodos Unicode,ysticky ydíndices de grupo. Pasa el ratón por un flag para ver qué hace. - 3Pega el texto en el que buscar en Test text, o arrastra un archivo encima. Las coincidencias se resaltan mientras escribes y se listan en Matches con su línea, su columna y sus grupos de captura.
- 4Haz clic en una coincidencia, o pulsa Enter en la caja del patrón (F7 en otro sitio), para seleccionarla en el texto y ver sus grupos resaltados. Shift+Enter o Shift+F7 vuelve atrás.
- 5Abre Replace para probar un reemplazo como
$2/$1o$<year>y ver el resultado. Apply to test text lo escribe en el texto; Ctrl+Z lo deshace.
Solución de problemas
- Detenido tras 2 segundos
- El patrón hace backtracking catastrófico con este texto: cuantificadores anidados como
(a+)+o(.*,)*prueban un número exponencial de formas de coincidir antes de fallar. Haz que cada parte repetida solo pueda coincidir de una forma, por ejemplo[^,]*en lugar de.*. El mismo patrón puede congelar un servidor, por eso aquí se detiene. - El patrón funciona en el código pero no aquí, o al revés
- En un literal de cadena en el código, cada barra invertida se escribe dos veces (
"\\d+"). Aquí escribes el patrón tal cual, con barras simples (\d+), como entre las barras de/\d+/. - Solo se encuentra una coincidencia
- El flag
gestá desactivado. Sin él, la búsqueda se detiene tras la primera coincidencia y Replace cambia solo la primera. ^o$coinciden solo una vez- Sin el flag
m, solo coinciden al principio y al final de todo el texto. Activampara que coincidan en cada línea. - Escape o grupo no válido con el flag
u - El modo Unicode es más estricto: los escapes que no significan nada, como
\-fuera de una clase de caracteres, pasan a ser errores. Quita la barra invertida o desactivau.
Preguntas frecuentes
¿En qué se diferencia el regex de JavaScript de PCRE, Python o Java?
JavaScript no tiene cuantificadores posesivos (a++) ni grupos atómicos ((?>…)), ni \A y \Z (usa ^ y $ sin el flag m), ni (?i) al principio del patrón: activa los flags con los interruptores. Python escribe los grupos con nombre como (?P<name>…) donde JavaScript escribe (?<name>…). Los navegadores actuales admiten lookbehind, grupos con nombre y escapes de propiedades Unicode como \p{L} (con u o v).
¿Qué diferencia hay entre los flags m y s?
m (multilínea) hace que ^ y $ coincidan al principio y al final de cada línea. s (dotAll) hace que . también coincida con los saltos de línea; sin él, . coincide con cualquier carácter excepto un salto de línea.
¿El preajuste de email es un validador de emails completo?
No. Encuentra la forma habitual name@domain.tld dentro de un texto, que es lo que normalmente quieres al buscar en logs o respuestas. El estándar completo de direcciones permite mucho más. Para validar una dirección, comprueba la forma básica y después envía un email de confirmación.
¿Se envía mi texto a un servidor?
No. La búsqueda se ejecuta en tu navegador, en un worker en segundo plano de esta página, y no se sube nada. Para que sobrevivan a una recarga, el patrón y el texto se guardan en el almacenamiento de sesión de esta pestaña hasta que los borras o cierras la pestaña. Copy link pone la entrada en el enlace después de #, una parte que los navegadores nunca envían a un servidor, pero cualquiera a quien le des el enlace podrá leerla.