Cómo usar: Probador de expresiones regulares
- Escribe tu patrón entre las barras, o elige uno de los «Patrones comunes». También puedes pegar un literal completo como
/\d+/g. - Activa o desactiva opciones como
g(todas las coincidencias),i(distinguir mayúsculas y minúsculas) om(varias líneas). - Pega tu texto en «Cadena de prueba»: cada coincidencia se resalta a medida que escribes.
- Echa un vistazo a la pestaña «Coincidencias» para ver las posiciones y los grupos de captura, o abre «Reemplazar» para ver una vista previa de la sustitución.
- Haz clic en «Copiar» para copiar la expresión regular tal y como
/pattern/flags; el patrón y los indicadores también se guardan en la URL de la página para que puedas compartirlos.
¿Qué es un comprobador de expresiones regulares?
Una expresión regular (regex) es un lenguaje de patrones compacto que sirve para buscar y transformar texto: validar un campo de correo electrónico, extraer identificadores de los registros, renombrar archivos o limpiar datos. Como un solo carácter puede cambiar lo que coincide con un patrón, escribir expresiones regulares por ensayo y error dentro de tu código lleva mucho tiempo. Un probador de expresiones regulares te muestra al instante con qué coincide un patrón, qué grupos de captura rellena y qué resultado daría una sustitución.
Este comprobador utiliza el propio motor de expresiones regulares de JavaScript (ECMAScript) de tu navegador, por lo que los resultados son exactamente los mismos que String.prototype.match, matchAll, replace y RegExp.test te ofrecen en Chrome, Firefox, Safari, Node.js y Deno. Los patrones se ejecutan en un proceso en segundo plano con un límite de tiempo, por lo que un patrón que se salga de control no puede bloquear la página.
Opciones de expresiones regulares en JavaScript
| Indicador | Nombre | Efecto |
|---|---|---|
g | global | Busca todas las coincidencias en lugar de detenerse en la primera. |
i | ignoreCase | /abc/i coincide con «ABC». |
m | multiline | ^ y $ busca coincidencias al principio y al final de cada línea. |
s | dotAll | . también coincide con los saltos de línea. |
u | unicode | Trata los pares sustitutos (emoji) como un solo carácter y permite \p{…} escapes de propiedades. |
y | sticky | Solo coincide en lastIndex — útil a la hora de escribir tokenizadores. |
Grupos de captura, grupos con nombre y sustituciones
Los paréntesis capturan el texto con el que coinciden. En (\d{4})-(\d{2}) el grupo 1 es el año y el grupo 2, el mes. Los grupos con nombre hacen que los patrones se expliquen por sí mismos: (?<year>\d{4}) está disponible como match.groups.year en el código y como $<year> en una cadena de sustitución. Por ejemplo, al sustituir (?<y>\d{4})-(?<m>\d{2})-(?<d>\d{2}) por $<d>/$<m>/$<y> convierte 2026-10-25 en 25/10/2026. Usa (?:…) cuando necesites agrupar sin capturar.
Retroceso catastrófico
Los patrones con cuantificadores anidados, como (a+)+$ o (\w+\s?)*$ pueden tardar un tiempo exponencial con entradas que casi coinciden —una causa clásica de navegadores bloqueados y vulnerabilidades ReDoS en los servidores. Si un patrón tarda más de 1,5 segundos en ejecutarse, se detiene y se marca. Solucionalo haciendo que las alternativas sean mutuamente excluyentes, sustituyendo .* por una clase negada como [^"]*, o anclando el patrón.
Consejos para patrones fiables
- Ancla los patrones de validación con
^…$, porque si no,\d{5}también «valida»abc123456. - Escapa los metacaracteres literales:
\.\?\(\[\$. - Prefiere clases específicas en lugar de
.*; son más rápidas y se ajustan mejor a lo que quieres decir. - Las expresiones regulares no son la mejor opción para formatos anidados como HTML o JSON: usa un analizador sintáctico (o nuestro formateador de JSON).
- ¿Quieres comparar el texto antes y después de un «reemplazar todo»? Pega ambos en el comparador de diferencias.
También se busca como: regex, regexp, comprobador de expresiones regulares, alternativa a regex101, javascript expresiones regulares, coincidencia de expresión regular, sustitución con expresiones regulares, guía rápida de expresiones regulares.
Herramientas que combinan con: Probador de expresiones regulares
- JavaScript Formatter — Unminify and pretty-print JavaScript, JSON or JSX with your preferred indentation and brace style — or strip whitespace and comments with a verified minifier.
- URL Encode / Decode — Percent-encode text for safe use in URLs, decode encoded strings back to readable text, and break any URL down into its parts and query parameters.
- Slug Generator — Convert any title into a clean, lowercase URL slug — with proper transliteration of accents, umlauts and Cyrillic, optional stop-word removal and a bulk mode for whole lists.
- Remove Duplicate Lines — Paste a list to remove duplicate lines instantly.
Preguntas frecuentes
¿Qué variante de expresiones regulares usa este probador?
\A/\Z anclajes ni modificadores en línea como (?i).¿Por qué mi patrón solo encuentra una coincidencia?
g indicador (global), JavaScript se detiene en la primera coincidencia. Actívalo g para encontrarlas todas; además, el probador te avisa cuando está desactivada.¿Cómo puedo hacer una búsqueda en varias líneas?
m opción para que ^ y $ trabajar por línea, y la s opción (o [\s\S]) si . también debe coincidir con los caracteres de salto de línea.¿Mi texto de prueba se guarda o se sube?
¿Cuál es una buena expresión regular para validar direcciones de correo electrónico?
^[^\s@]+@[^\s@]+\.[^\s@]+$ (o la opción predefinida «Dirección de correo electrónico»). Los patrones que cumplen totalmente con el RFC 5322 son enormes y, aun así, no te dicen si el buzón existe; para eso, envía un correo de confirmación.