Probador de expresiones regulares

Prueba y depura expresiones regulares en tiempo real, con las coincidencias resaltadas y los grupos capturados. Motor de JavaScript, 100 % en tu navegador.
Procesamiento 100 % local · tus archivos no salen de tu navegador
Publicidad
//gi

2 coincidencias

Escribe a hola@olcas.app o a soporte@ejemplo.com para más información.

Procesamiento 100 % local · tu texto nunca sale de tu navegador

Depura tus expresiones regulares sin prueba y error en el código

Las expresiones regulares (regex) son el lenguaje estándar para buscar, validar y extraer texto por patrones, y a la vez una de las cosas más difíciles de afinar a ciegas: un carácter mal escapado y el patrón deja de casar sin dar ningún error. Este probador te muestra en tiempo real qué partes del texto coinciden, cuántas coincidencias hay y qué captura cada grupo. Escribes el patrón arriba, pegas el texto de prueba debajo, activas las banderas que necesites y ves el resultado resaltado al momento.

Chuleta rápida: los bloques con los que se construye una regex

Metacaracteres básicos

  • . — cualquier carácter salvo el salto de línea.
  • ^ y $ — anclan al inicio y al final del texto (o de cada línea con la bandera m).
  • | — alternativa: gato|perro casa con cualquiera de las dos palabras.
  • \ — escapa un carácter especial: \. es un punto literal, \$ un símbolo de dólar.

Clases de caracteres

  • [abc] — uno de los caracteres listados; [a-z] y [0-9] definen rangos; [^abc] niega la clase.
  • \d — un dígito; \w — letra, dígito o guion bajo; \s — espacio en blanco. Sus mayúsculas (\D, \W, \S) son la negación.

Cuantificadores

  • * — cero o más veces; + — una o más; ? — cero o una.
  • {3} — exactamente tres repeticiones; {2,5} — entre dos y cinco; {2,} — dos o más.
Publicidad

Dos ejemplos que puedes probar ahora mismo

Validar un email de forma aproximada

Prueba el patrón ^[\w.+-]+@[\w-]+\.[a-z]{2,}$ con las banderas i y m sobre una lista de direcciones, una por línea. Exige algo antes de la arroba, un dominio y una extensión de al menos dos letras. Es deliberadamente aproximado: el estándar completo de los emails es mucho más permisivo, así que usa la regex para cazar erratas evidentes y confirma la dirección real enviando un correo.

Extraer todos los números de un texto

Con \d+([.,]\d+)? y la bandera g sacarás enteros y decimales de un texto como «el pedido 4821 costó 129,90 euros»: casará con 4821 y con 129,90. El grupo entre paréntesis captura la parte decimal por separado, y lo verás listado bajo cada coincidencia.

Codicioso frente a perezoso: el error más común

Por defecto los cuantificadores son codiciosos(greedy): devoran el máximo texto posible. Se ve claro con un caso: sobre el texto «<b>uno</b> y <b>dos</b>», el patrón <b>.*</b> devuelve una única coincidencia que va desde la primera etiqueta hasta la última, tragándose el « y » intermedio.

La solución: añade ? al cuantificador para hacerlo perezoso (lazy). <b>.*?</b> se detiene en el primer cierre y devuelve dos coincidencias separadas, que es casi siempre lo que buscas.

Otro tropiezo habitual: olvidar la bandera g y extrañarse de que solo aparezca la primera coincidencia, o escapar de más dentro de una clase de caracteres, donde el punto y el asterisco ya son literales.

Publicidad

Herramientas relacionadas

Para otras tareas de código te servirán escapar HTML, el formateador de JSON, el comparador de textos y el generador de hash. Más en herramientas de archivos.

Preguntas frecuentes

¿Qué motor de regex usa esta herramienta?

El motor de expresiones regulares de JavaScript, el mismo que ejecutan todos los navegadores y Node.js. Lo que pruebes aquí funcionará igual en tu código JavaScript o TypeScript. Otros lenguajes (PCRE, Python, Java) coinciden en lo esencial, aunque difieren en funciones avanzadas.

¿Qué significan las banderas (flags)?

Son modificadores del comportamiento del patrón: g busca todas las coincidencias en lugar de solo la primera, i ignora la diferencia entre mayúsculas y minúsculas, m hace que ^ y $ funcionen línea a línea, s permite que el punto case también con saltos de línea y u activa el modo Unicode completo.

¿Muestra los grupos capturados?

Sí. Cuando tu expresión usa paréntesis para capturar grupos, verás el contenido de cada uno junto a su coincidencia. Es la forma más rápida de comprobar que estás extrayendo exactamente el fragmento que quieres.

¿Necesito escribir las barras de delimitación?

No. Introduce solo el patrón, sin las barras que rodean las regex en JavaScript, y elige las banderas con los botones. Dentro del patrón sí debes escapar los caracteres especiales, por ejemplo \. para un punto literal.

¿Por qué mi cuantificador captura más texto del que espero?

Porque los cuantificadores son codiciosos por defecto: toman el máximo texto posible. Añade una interrogación (por ejemplo .*? en vez de .*) para hacerlos perezosos y que se detengan en la primera coincidencia válida.

¿Sirve una regex para validar emails de verdad?

Solo de forma aproximada. Una regex razonable filtra errores evidentes de formato, pero el estándar real de las direcciones de correo es tan complejo que la única validación definitiva es enviar un mensaje de confirmación.

¿Mi patrón o mi texto se envían a algún sitio?

No. El análisis se ejecuta con el motor de tu propio navegador, en tu dispositivo. Puedes probar patrones sobre datos internos o confidenciales con tranquilidad: nada viaja por la red.

Herramientas relacionadas

Publicidad