Tutorial
Cómo probar una regex sin instalar nada
Escribiste un patrón y necesitas saber si realmente coincide con lo que esperas antes de llevarlo al código. Instalar una herramienta de escritorio o pegar un registro privado en una web cualquiera es excesivo, y a menudo arriesgado. Esta guía muestra cómo ejecutar una regex sobre tu propio texto directamente en el navegador, activar los indicadores que cambian su comportamiento, leer los grupos de captura que extrae y ver las coincidencias resaltarse en línea, sin que el patrón ni el texto salgan nunca de tu pestaña.
Paso a paso
- Abre el probador de regex y escribe tu patrón en el campo situado entre las dos barras. No escribes las barras tú mismo: la herramienta las muestra para que veas el patrón tal como lo lee un motor. Pega tu texto de ejemplo en el cuadro de abajo, por ejemplo unas líneas de registro, una lista de correos electrónicos o un bloque de código que quieras recorrer.

- Configura los indicadores en el pequeño cuadro junto al patrón. El indicador g encuentra todas las coincidencias en lugar de detenerse en la primera; i hace que la coincidencia no distinga mayúsculas de minúsculas; m permite que las anclas ^ y $ coincidan con el inicio y el final de cada línea en lugar del texto entero; s permite que el punto coincida también con los saltos de línea. Combínalos libremente, por ejemplo gim.
- Pulsa Probar. Cada coincidencia se resalta directamente en tu texto, y la lista de abajo muestra cada coincidencia con su posición y el valor de cada grupo de captura. Ajusta el patrón y vuelve a ejecutarlo: la vista previa se actualiza para que puedas afinar el patrón hasta que capture exactamente lo que querías y nada más.

Grupos de captura, con nombre y numerados
Un grupo de captura es la parte de tu patrón encerrada entre paréntesis, y es la forma de extraer un fragmento de cada coincidencia en lugar de solo confirmar que el conjunto coincide. Los grupos numerados se cuentan de izquierda a derecha según su paréntesis de apertura: en (\d{4})-(\d{2})-(\d{2}) el grupo 1 es el año, el grupo 2 el mes, el grupo 3 el día. Los grupos con nombre usan la sintaxis (?<name>...), de modo que (?<year>\d{4}) se lee mucho mejor que un simple número cuando el patrón crece. Si solo quieres agrupar sin capturar, por ejemplo para aplicar un cuantificador a varios caracteres, usa un grupo sin captura (?:...) para que no sature tu lista de resultados. El probador muestra el valor de cada grupo en cada coincidencia, que es la forma más rápida de confirmar que estás extrayendo la porción correcta.
Cuando un patrón se cuelga o se comporta mal
Dos problemas aparecen una y otra vez. El primero es el retroceso catastrófico: un patrón como (a+)+$ ejecutado sobre una cadena larga que no coincide puede hacer que el motor pruebe un número exponencial de caminos y se congele. El probador ejecuta cada prueba en un Web Worker con un vigilante breve, así que en lugar de una pestaña colgada obtienes un mensaje claro y puedes simplificar el patrón, normalmente volviendo un cuantificador posesivo en espíritu, anclándolo o evitando la repetición anidada. El segundo es la coincidencia voraz frente a la perezosa: por defecto .* atrapa todo lo que puede, así que para coincidir con el contenido de una sola etiqueta HTML conviene la forma perezosa .*?. Si estás comparando dos versiones ligeramente distintas de una cadena para ver a qué debería apuntar tu patrón, la herramienta de diferencias de texto las alinea para que la diferencia sea evidente antes de que escribas la expresión.
Cómo el navegador evalúa tu expresión regular
Los navegadores modernos incluyen un motor de expresiones regulares ECMAScript integrado que admite el conjunto completo de indicadores: coincidencia sin distinción de mayúsculas y minúsculas (i), modo multilínea (m), dotAll (s), Unicode (u) y el indicador adhesivo (y). Cuando escribes un patrón en el comprobador, el motor lo compila en un NFA interno y lo evalúa contra tu cadena de prueba en tiempo real, informando de cada posición de coincidencia y cualquier grupo de captura. El retroceso ocurre localmente en tu CPU: un patrón como (a+)+ sobre una cadena larga sin coincidencia puede girar durante segundos, y ver ese bloqueo en el navegador es una retroalimentación útil antes de desplegar el patrón en código de producción. Ningún texto sale de la página, por lo que puedes pegar muestras de registro o cualquier entrada sin enrutarlo a través de un servidor de terceros.
Las herramientas usadas en esta guía
Preguntas frecuentes
¿Mi patrón o mi texto de prueba se envían a un servidor?
No. La regex se ejecuta dentro de un Web Worker en tu propio navegador, así que el patrón y el texto que pruebas permanecen en la pestaña. Esto importa porque el texto que pegas suele ser un registro real, una lista de clientes o una configuración interna, justo el tipo de datos que no quieres en el servidor de otra persona. Abre el panel de Red en tus herramientas de desarrollo mientras pulsas Probar y no verás ninguna solicitud que se lleve tu texto. Además, sigue funcionando sin conexión una vez cargada la página.
¿Qué variante de regex usa el probador?
Usa el motor de expresiones regulares de JavaScript integrado en tu navegador, el mismo que se ejecuta en Node.js y en cualquier página web. Eso cubre la sintaxis habitual: clases de caracteres, cuantificadores, anclas, alternancia, grupos de captura numerados y con nombre, anticipación y retrospección. Algunas funciones de otras variantes, como la recursión al estilo de Perl o los cuantificadores posesivos, no forman parte del motor de JavaScript, así que si un patrón que copiaste de un proyecto PHP o Python se comporta de forma distinta, esa diferencia de variante suele ser el motivo.