Probador de regex

Prueba expresiones regulares JavaScript sobre cualquier cadena y ve las coincidencias resaltadas en vivo. Grupos, flags y posiciones se listan abajo.

Usa el RegExp nativo del navegador, así que lo que pruebas aquí es exactamente lo que ejecutará tu código JavaScript.

Resaltado

Highlighted matches will appear here.

Coincidencias

Match list with capture groups will appear here.
Edit the pattern or test string, then press Test (Cmd/Ctrl+Enter).

Sintaxis JavaScript

Este probador usa el RegExp nativo del navegador. Soporta la sintaxis de regex ECMAScript, que no es la misma que PCRE (PHP, Perl) o re de Python. Algunas construcciones de otros motores no están disponibles o se comportan distinto:

  • No possessive quantifiers (a*+, a++).
  • No atomic groups (?>...).
  • No conditional patterns (?(1)yes|no).
  • Lookbehind (?<=...) is supported in modern browsers but can fail in older engines.
  • Named groups use (?<name>...) (not (?P<name>...) like Python).

Referencia de flags

  • g — return all matches, not just the first.
  • i — case-insensitive match.
  • m^ and $ match at line breaks, not only string edges.
  • s — dot . also matches newlines.
  • u — full Unicode mode; \p{...} property escapes enabled.
  • y — sticky: match must start exactly at lastIndex.

Ejemplos

Algunos patrones que puedes pegar en el campo de arriba para verlos en acción:

\d{4}-\d{2}-\d{2}            # ISO-like dates
[\w.+-]+@[\w-]+\.[\w.-]+     # rough email
^https?:\/\/\S+              # URL at line start (needs m flag)
(?<year>\d{4})-(?<mo>\d{2})  # named groups

Preguntas frecuentes

¿Por qué mi patrón que funciona en PHP/Python falla aquí?

Este probador ejecuta tu patrón con el RegExp del navegador, que es ECMAScript flavor. Las funciones específicas de PCRE (cuantificadores posesivos, grupos atómicos, patrones condicionales) no están soportadas. Reescribe el patrón en forma compatible con ECMAScript.

Mi patrón congeló la página un momento. ¿Por qué?

El motor de regex de JavaScript es de un solo hilo y puede ser lento con patrones de catastrophic backtracking (por ejemplo cuantificadores anidados como (a+)+$). La herramienta limita la lista de coincidencias a 1000 para acotar el daño, pero el match en sí corre en la página.

¿Cómo coincido a través de varias líneas?

Usa el flag s si quieres que . también haga match con saltos de línea, y el flag m si quieres que ^/$ se anclen a cada línea.

¿Mi patrón y texto de prueba se envían a algún sitio?

No. La regex se ejecuta enteramente en tu navegador. Nada se sube.

Herramientas relacionadas