iGotTools

Cómo probar patrones regex

Prueba regex en tu navegador. Introduce un patrón y texto de prueba, activa flags, inspecciona coincidencias y grupos, y previsualiza reemplazos localmente.

Las expresiones regulares son potentes justamente porque son compactas, pero esa misma compacidad hace fácil equivocarse de forma sutil. Un patrón que parece correcto puede coincidir con demasiado, con muy poco o con nada, y la única forma fiable de saberlo es ejecutarlo contra texto real. El probador de regex ejecuta una expresión regular de JavaScript en tu navegador, muestra cada coincidencia con sus grupos de captura y previsualiza reemplazos — todo sin subir tu texto.

TL;DR

Puedes desarrollar y verificar una regex contra entrada real, totalmente en local.

  • Ve coincidencias y grupos — cada coincidencia lista su texto, rango de índice y grupos de captura (incluidos los grupos con nombre).
  • Previsualiza reemplazos — escribe un reemplazo y ve el resultado cambiado al instante, con aviso cuando no hay cambios.
  • Los siete flags de JS — activa g, i, m, s, u, y o d y observa cómo se actualiza el resultado.

Qué es regex

Una expresión regular es un patrón que describe un conjunto de cadenas. Es la herramienta estándar para buscar, validar, extraer y reemplazar texto, y está integrada en cada lenguaje de programación. En JavaScript, una regex es un objeto RegExp, y la escribes como literal (/\d+/g) o construyendo uno (new RegExp("\\d+", "g")).

Los trabajos habituales de regex:

  • Validación — “¿esta cadena parece un email, una fecha, un teléfono?”
  • Extracción — “saca cada URL, cada número, cada frase entre comillas de este texto.”
  • Reemplazo — “cambia cada marcador por un valor real” o “normaliza todos los espacios en blanco.”

Como regex es breve y simbólica, un solo carácter mal puesto cambia el significado. Probar contra entrada representativa es como pasas de “creo que funciona” a “funciona”.

Las partes de un patrón regex

Un patrón se construye con unos pocos bloques. Conocerlos por nombre hace los patrones legibles:

  • Literales — caracteres ordinarios que coinciden consigo mismos. cat coincide con las letras c, a, t en orden.
  • Clases de caracteres — un conjunto de caracteres permitidos entre corchetes. [a-z] coincide con cualquier letra minúscula; \d es abreviatura de [0-9], \w de caracteres de palabra, . de (casi) cualquier carácter.
  • Cuantificadores — cuántas veces se repite lo anterior. * es cero o más, + una o más, ? cero o una, y {n} o {n,m} un número exacto o acotado.
  • Anclas — posición, no caracteres. ^ coincide con el inicio de la cadena (o línea, con el flag m), $ con el final.
  • Grupos — los paréntesis (...) capturan parte de una coincidencia para referirla después. Los grupos con nombre (?<year>\d{4}) dan un nombre legible a la captura.
  • Alternanciacat|dog coincide con cat o con dog.

Componer estos bloques es como se escriben los patrones, y verlos aplicados al texto es como se verifican.

Banderas

Los flags modifican el comportamiento de todo el patrón y se añaden tras la barra de cierre (por ejemplo /x/gi). El probador expone los siete flags de JavaScript como interruptores:

  • g (Global) — busca todas las coincidencias, no solo la primera. Sin g, la búsqueda se detiene tras el primer acierto.
  • i (Ignorar mayusculas) — hace la coincidencia insensible a mayúsculas, de modo que [a-z] también coincide con mayúsculas.
  • m (Multilinea) — permite que ^ y $ coincidan con el inicio y el final de cada línea, no solo del texto entero.
  • s (Punto todo) — permite que . también coincida con saltos de línea, lo que normalmente no hace.
  • u (Unicode) — trata el patrón como puntos de código Unicode, esencial para emojis y alfabetos no ASCII.
  • y (Sticky) — coincide solo en lastIndex, anclando cada búsqueda a una posición exacta.
  • d (Indices) — expone los índices de inicio y fin de cada grupo de captura, además de sus valores.

El trabajo diario suele necesitar solo g e i; el resto resuelve casos concretos de texto multilínea, Unicode o escaneo avanzado.

Paso a paso: probar un patrón

Abre el probador de regex y sigue este flujo.

  1. Introduce tu Patron en el campo Patron. Escríbelo sin las barras envolventes y sin flags — la herramienta construye el literal por ti.
  2. Pega tu Texto de prueba en el campo de texto. Es el pajar donde tu patrón busca.
  3. Activa las Banderas que necesites — g, i, m, s, u, y o d. El resultado se actualiza al alternar.
  4. Revisa la pestana Coincidencias. Cada coincidencia muestra el texto emparejado, su rango de índice y los grupos de captura (los grupos con nombre aparecen con su nombre). Si nada coincide, verás “Sin coincidencias”.
  5. Cambia a la pestana Reemplazar. Escribe una cadena de Reemplazo (puedes referir grupos como $1 o $<name>). La herramienta ejecuta text.replace(regex, replacement) y muestra el resultado, o te avisa cuando no cambia nada.
  6. Copia o restablece. Usa Copiar regex para el literal, Copiar resumen para la lista de coincidencias, Copiar reemplazo para el resultado, o Restablecer para vaciar todo.

Si no sabes por dónde empezar, el desplegable Muestra carga un patrón y texto listos para Fecha, Email, URL o Palabras, para que veas un ejemplo funcional de inmediato.

Límites y notas específicas de JavaScript

Algunas restricciones honestas, para que la herramienta sea lo que esperas:

  • Solo motor JavaScript. La herramienta ejecuta new RegExp(pattern, flags) en tu navegador, de modo que refleja el motor regex de JavaScript — no PCRE, Python ni Java. Los patrones escritos para otros motores pueden comportarse de forma distinta, y la herramienta no “explica” un patrón por ti.
  • Tamaños acotados. El patrón se limita a 500 caracteres y el texto a 20.000. Si los superas, la herramienta señala el problema en lugar de ejecutar.
  • Máximo 200 coincidencias. Cuando un patrón coincide más de 200 veces, la herramienta muestra las primeras 200 con el aviso “Mostrando las primeras 200 coincidencias.”. Para verificar sobra; para contar entradas enormes, afina tu patrón.
  • El lookbehind varía según motor y antigüedad. El lookbehind de JavaScript ((?<=...)) se admite en navegadores modernos, pero faltaba en motores antiguos y difiere de PCRE. Si un lookbehind falla, suele ser por eso.

Preguntas frecuentes

¿Admite PCRE?

No. La herramienta usa el motor RegExp de JavaScript (new RegExp(pattern, flags)), que tiene su propia sintaxis y características y no es compatible con PCRE. Las funciones exclusivas de PCRE — como patrones recursivos o ciertas clases POSIX — no funcionarán aquí. Escribe patrones para el motor JavaScript o conviértelos antes de probarlos.

¿Qué son los grupos de captura?

Los paréntesis en un patrón ( ... ) crean un grupo de captura que recuerda la parte del texto que coincidió, para referirla después — por número ($1, $2) en un reemplazo, o por nombre si escribiste un grupo con nombre (?<name> ...). La pestana Coincidencias muestra el valor de cada grupo (y su nombre, si lo tiene), y así confirmas que el patrón captura lo que querías.

¿Cómo reemplazo texto?

Cambia a la pestana Reemplazar y escribe un Reemplazo. La herramienta ejecuta text.replace(regex, replacement) con tus flags actuales y muestra el resultado; puedes referir los grupos con $1, $2, … o con grupos con nombre $<name>. Si el flag global g está desactivado, solo se reemplaza la primera coincidencia. Cuando no cambia nada, la herramienta lo dice sin rodeos.

¿Por qué solo 200 coincidencias?

Por seguridad y velocidad. Un patrón puede coincidir miles de veces en un documento grande, y mostrar todas ralentizaría la página hasta casi pararla. El límite de 200 basta para verificar que un patrón coincide con lo que crees; si necesitas el recuento completo, haz el patrón más específico o prueba con un extracto más pequeño.

iGotTools

Comienza con esta herramienta

Empezar ahora