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.
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
| Bandera | Efecto |
|---|---|
g | Busca todas las coincidencias, no solo la primera; necesaria para reemplazarlas todas |
i | Ignora 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 |
u | Modo Unicode: puntos de código completos en lugar de unidades UTF-16, y escapes de propiedad como \p{L} |
y | Pegajosa: coincide solo donde terminó la coincidencia anterior |
d | Registra 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
\wy\bsolo 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 banderau,\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
grecuerdalastIndexentre llamadas atest()yexec(), 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 cong, oreplaceAll().- En un reemplazo,
$1es 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.