SuperDevTools

Probar expresiones regulares (regex online)

Opciones

Sintaxis de JavaScript, ejecutada por el motor de tu navegador: el mismo patrón puede comportarse algo distinto en Python, PHP o Java.

Coincidencias resaltadas



  
Vista

Explicación del patrón, elemento por elemento

ElementoSignificado
Patrones habituales

Puntos de partida sencillos, no validaciones perfectas: compruébalos con tus propios datos.

Código listo para copiar



  

Todo se calcula en tu navegador: ni el patrón ni el texto se envían. El último estado se guarda en este dispositivo.

Un probador de regex que explica lo que encuentra

Una expresión regular, o regex, describe la forma de un texto: «cinco cifras», «una palabra repetida», «una fecha con formato AAAA-MM-DD». Sirve para buscar en un registro, validar un campo de formulario, extraer datos de una exportación o hacer un buscar y reemplazar en todo un proyecto.

Escribe el patrón en «Patrón», marca las «Opciones» y pega tu «Texto de prueba». Las «Coincidencias resaltadas» cambian mientras escribes, en dos colores alternos y subrayados para distinguir dos resultados pegados. La tabla da de cada una la posición (contando desde 0), el valor y los grupos, numerados y con nombre.

El patrón sigue la sintaxis de JavaScript y lo ejecuta el motor de tu navegador. No se envía nada: todo se calcula en tu dispositivo.

Cómo se usa

  1. Escribe un patrón como \d+ y marca «g: todas las coincidencias».
  2. Con el texto a1b22c333, la herramienta indica «3 coincidencias»: 1 en la posición 1, 22 en la 3 y 333 en la 6.
  3. Cambia a «Reemplazar» para ver el resultado de un reemplazo, o a «Dividir» para cortar el texto en cada coincidencia.
  4. Lee la «Explicación del patrón, elemento por elemento» y copia el código o el enlace para compartir.

Chuleta de sintaxis

EscrituraSignificado
\d \w \suna cifra; una letra sin tilde, cifra o _; un espacio en blanco
[a-z], [^0-9]un carácter de la lista, un carácter fuera de ella
* + ? {2,4}0 o más veces, 1 o más, opcional, de 2 a 4 veces
^ $ \binicio, final, límite de palabra
( ) (?: ) (?<nombre> )grupo de captura, sin captura, con nombre
(?= ) (?! ) (?<= ) (?<! )búsquedas anticipadas y retrospectivas, positivas o negativas
g i m s u y dopciones: global, sin mayúsculas, multilínea, punto total, Unicode, fija, posiciones de grupos

Ejemplos exactos

El patrón (?<anio>\d{4})-(?<mes>\d\d) sobre 2026-03 da el grupo 1 «anio» = 2026 y el grupo 2 «mes» = 03. En «Reemplazar por», $<mes>/$<anio> produce 03/2026; $1 inserta el grupo 1 y $& la coincidencia completa.

La búsqueda retrospectiva (?<=#)\d+ encuentra 4521 en «pedido #4521 de 3 unidades», porque solo ese número va tras la almohadilla. Con la opción u, \p{L}+ toma «año» y «canción» enteras, mientras que \w+ se corta en la ñ y en las tildes. En «Dividir», [,;]\s* corta «manzana, pera;kiwi» en tres fragmentos.

La explicación también desmonta un código postal español: ^(?:0[1-9]|[1-4]\d|5[0-2])\d{3}$ son dos cifras de provincia, del 01 al 52, y tres cifras más.

Trampas frecuentes

  • Codicioso o perezoso. En <b>negrita</b>, <.+> lo toma todo de una vez, y <.+?> encuentra <b> y luego </b>.
  • Escapar caracteres. El punto significa «cualquier carácter»: para un punto real, escribe \.. Dentro de una cadena de código, la barra invertida suele duplicarse; el código generado lo hace por ti.
  • Retroceso catastrófico. (a+)+$ sobre treinta «a» seguidas de una «b» prueba miles de millones de combinaciones. La herramienta ejecuta cada patrón aparte y lo detiene al cabo de un segundo con el aviso «Patrón demasiado costoso»: la página sigue respondiendo.

Los motores de regex se parecen mucho, pero algunas construcciones (grupos con nombre, búsquedas retrospectivas, \p{…}) cambian o faltan según el lenguaje: prueba siempre también en tu entorno final.

Consejos

Prueba el patrón con ejemplos variados, incluidos los que no deben coincidir: una fecha 2026-02-30, un código postal de cuatro cifras, un correo sin punto. No intentes validar un correo a la perfección con una regex: un patrón simple basta para detectar erratas, y solo un mensaje de confirmación demuestra que la dirección existe.

Preguntas frecuentes

¿Por qué mi patrón funciona aquí y no en mi programa?

La herramienta usa el motor JavaScript del navegador. En Python, PHP o Java cambian algunos detalles: usa «Código listo para copiar», que adapta los grupos con nombre y el escape, y lee las notas añadidas como comentario.

¿Para qué sirve la opción g?

Sin ella, la búsqueda se detiene en la primera coincidencia y el reemplazo solo cambia esa. Con ella, se encuentran y se reemplazan todas.

¿Cómo comparto un patrón?

«Copiar el enlace» coloca el patrón, las opciones y el texto de prueba (hasta 1000 caracteres) tras el signo # de la dirección. Esa parte nunca llega al servidor.

¿Qué significa «(sin usar)» en un grupo?

El grupo existe en el patrón pero no participó en esa coincidencia, por ejemplo la rama no elegida de una alternativa (a)|(b).