Texto 🔒 Se ejecuta en tu navegador — no se envían datos

Probador de regex JavaScript

Pruebe un patrón con el motor RegExp en el que se ejecutará su JavaScript: lo que coincide aquí coincide en su código.

/ /
Texto de prueba
Coincidencias y grupos
Las coincidencias aparecen aquí...

Probador de regex JavaScript

Una expresión regular que funciona en un lenguaje puede fallar en otro, así que el lugar más seguro para probar un patrón de JavaScript es un motor de JavaScript. Esta página abre el Probador de Regex con un ejemplo que usa grupos con nombre: el patrón (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}), dos fechas en el texto de prueba y el reemplazo $<day>/$<month>/$<year>, que las reescribe como día, mes y año.

El motor es el de su navegador

No se envía nada a ningún servidor: el patrón se compila con new RegExp() en su propia pestaña. Eso significa V8 en Chrome y Edge, que es también el motor de Node.js, SpiderMonkey en Firefox y JavaScriptCore en Safari. Los tres implementan las mismas reglas de ECMAScript, así que un patrón que funciona aquí funciona igual en su código de front-end o de Node con una versión actual.

Las banderas

BanderaEfecto
gBusca todas las coincidencias, no solo la primera; necesaria para reemplazarlas todas
iIgnora mayúsculas y minúsculas
m^ y $ coinciden en cada salto de línea, no solo en los extremos del texto
s. también coincide con un salto de línea
uModo Unicode: puntos de código completos en lugar de unidades UTF-16, y escapes de propiedad como \p{L}
yPegajosa: coincide solo donde terminó la coincidencia anterior
dRegistra el inicio y el fin de cada grupo, para el código que lee match.indices

Cualquier otra letra se descarta antes de que el patrón llegue al motor, incluida la bandera v, más reciente. Una letra escrita dos veces, como gg, es un error, y la herramienta muestra el mensaje del propio motor.

Lo que confunde en JavaScript

  • \w y \b solo conocen de la A a la Z, de la a a la z, del 0 al 9 y el guion bajo, así que no ven é ni las letras persas. Con la bandera u, \p{L} coincide con una letra de cualquier alfabeto.
  • Dentro de una cadena hay que duplicar cada barra invertida: new RegExp("\\d+") es el mismo patrón que el literal /\d+/. Este probador recibe el patrón tal como lo escribiría entre barras.
  • Una regex con la bandera g recuerda lastIndex entre llamadas a test() y exec(), así que probar dos veces la misma cadena puede dar true y luego false.
  • replace() con una cadena normal como patrón solo cambia la primera aparición; use una regex con g, o replaceAll().
  • En un reemplazo, $1 es el primer grupo, $<name> uno con nombre, $& la coincidencia completa y $$ un signo de dólar literal.

Reemplazar con grupos con nombre

El campo de reemplazo sigue las mismas reglas que String.prototype.replace(). Con el patrón de ejemplo, $<day>/$<month>/$<year> convierte 2026-09-24 en 24/09/2026. Los grupos con nombre también mantienen legible un patrón meses después: match.groups.year dice más que match[1].

Páginas relacionadas

Parta de un patrón ya hecho con la regex para URL, o corrija palabras duplicadas con buscar y reemplazar con regex. Para direcciones de correo, y para números, teléfonos y direcciones IP, la guía de regex para email y la guía de números, teléfonos y direcciones IP entran en los detalles.

Guías relacionadas