Coincidencias

Este probador de regex ejecuta expresiones regulares de JavaScript sobre tu texto mientras escribes, resalta cada coincidencia y muestra su posición, sus grupos de captura y los grupos con nombre. La pestaña de reemplazo muestra en vivo sustituciones con $1 y $<nombre>. Usa el motor ECMAScript de tu navegador, el mismo de Node.js y Chrome, y detiene los patrones descontrolados al cabo de un segundo.

Cómo se usa

  1. Escribe un patrón entre las barras o pega un literal /patrón/flags completo. Toca un patrón común, como Email o IPv4, para empezar con uno probado.
  2. Activa flags: g encuentra todas las coincidencias, i ignora mayúsculas, m aplica ^ y $ a cada línea, s hace que el punto incluya saltos de línea.
  3. Escribe o pega el texto de prueba. Las coincidencias se resaltan al escribir y se listan debajo con su posición y sus grupos.
  4. Pasa a Reemplazar y escribe un reemplazo con $1, $<nombre> o $& para ver el resultado en vivo. Toca cualquier coincidencia, grupo o resultado para copiarlo.
  • Se usa el motor de regex de JavaScript (ECMAScript) de tu navegador, el mismo de Node.js, Chrome y Deno. Admite lookbehind, grupos con nombre y clases Unicode \p{…}.
  • La búsqueda se ejecuta en segundo plano y se detiene al cabo de 1 segundo: un patrón con backtracking catastrófico muestra un error en lugar de congelar la página.
  • En el reemplazo, \n y \t insertan un salto de línea o una tabulación. $$ inserta el signo de dólar.
  • Activa el flag d para ver la posición inicial y final de cada grupo.
  • Los enlaces para compartir incluyen el patrón y los flags, nunca tu texto de prueba.

Flags que cambian el resultado

g busca todas las coincidencias en lugar de la primera, i ignora mayúsculas, m hace que ^ y $ funcionen en cada salto de línea, s permite que el punto incluya saltos de línea, u activa Unicode completo y las clases \p{…}, y solo busca en lastIndex y d devuelve los índices de inicio y fin de cada grupo. Olvidar la g es el motivo más habitual de que un patrón parezca encontrar un solo resultado.

Cómo leer un patrón

\d es un dígito, \w una letra, dígito o guion bajo, \s un espacio en blanco y \b un límite de palabra. Los cuantificadores repiten lo anterior: * es 0 o más, + es 1 o más, ? es 0 o 1 y {2,4} es de 2 a 4 veces. Un ? tras el cuantificador lo vuelve perezoso, de modo que <.+?> se detiene en el primer >. Los paréntesis capturan un grupo; (?<anio>\d{4}) le pone nombre y (?:…) agrupa sin capturar.

Las búsquedas anticipadas (?=…) y (?!…) y las retrospectivas (?<=…) y (?<!…) comprueban lo que viene después o antes sin consumirlo. Por ejemplo, \d+(?= USD) encuentra 120 en 120 USD, pero no en 120 EUR.

Evitar patrones lentos

Los cuantificadores anidados como (a+)+ o (.*)* pueden retroceder de forma exponencial en un texto que casi coincide y bloquear un servidor: es el problema conocido como ReDoS. Aquí la búsqueda se ejecuta en segundo plano con un límite de un segundo, así que verás un error en lugar de un cuelgue. Prefiere clases concretas como [^,]* a .* y ancla con ^ y $ cuando valides un valor completo.

Preguntas frecuentes

¿Qué variante de regex usa este probador?

JavaScript (ECMAScript), el motor integrado en tu navegador. Coincide con Node.js, Deno y TypeScript. Casi toda la sintaxis es común con PCRE, Python y Java, aunque algunas funciones, como los cuantificadores posesivos o los grupos atómicos, difieren.

¿Por qué mi regex solo encuentra una coincidencia?

Porque el flag g (global) está desactivado. Sin g, JavaScript se detiene en la primera coincidencia. Actívalo para resaltar y listar todas.

¿Cómo uso los grupos de captura en un reemplazo?

Escribe $1, $2, etc. para los grupos numerados, $<nombre> para los grupos con nombre y $& para la coincidencia completa. $$ inserta un signo de dólar literal.

¿Cómo busco un punto o un corchete literal?

Escápalo con una barra invertida: \. busca un punto, \( un paréntesis y \[ un corchete. Dentro de una clase de caracteres casi todos los símbolos son literales, así que [.] también busca un punto.

¿Una regex puede validar correos electrónicos a la perfección?

No. Las reglas completas de las RFC 5321 y 5322 son demasiado amplias y complejas para un patrón práctico. Usa una regex sencilla para detectar errores y confirma la dirección enviando un correo.

¿Se envía mi texto de prueba a algún sitio?

No. La búsqueda se hace en tu navegador. Los enlaces para compartir solo incluyen el patrón y los flags, nunca el texto.

Se usa junto con

Cómo se usa

Pasos

  1. Escribe un patrón entre las barras o pega un literal /patrón/flags completo. Toca un patrón común, como Email o IPv4, para empezar con uno probado.
  2. Activa flags: g encuentra todas las coincidencias, i ignora mayúsculas, m aplica ^ y $ a cada línea, s hace que el punto incluya saltos de línea.
  3. Escribe o pega el texto de prueba. Las coincidencias se resaltan al escribir y se listan debajo con su posición y sus grupos.
  4. Pasa a Reemplazar y escribe un reemplazo con $1, $<nombre> o $& para ver el resultado en vivo. Toca cualquier coincidencia, grupo o resultado para copiarlo.

Atajos

EnterSaltar del patrón al texto de pruebaCtrl + EnterCopiar todas las coincidencias o el resultado del reemplazo

Conviene saber

Funciona en tu navegador. Tus archivos y textos no salen de tu dispositivo.