Saltar al contenido
  • Compresor de imágenesHerramientas de imagen · Haz más ligeras tus fotos y gráficos volviendo a codificarlos como JPG o WebP, con un control deslizante de calidad y reducción opcional de dimensiones.
  • Redimensionar imagenHerramientas de imagen · Cambia el ancho y el alto de una imagen en píxeles o por porcentaje, con una reducción de alta calidad.
  • Conversor de imágenesHerramientas de imagen · Cambia el formato de una o varias imágenes a JPG, PNG o WebP, con control sobre la calidad y la transparencia.
  • Recortar imagenHerramientas de imagen · Recorta una parte de una imagen con una selección que puedes arrastrar, proporciones predefinidas y medidas exactas en píxeles.
  • Girar y voltear imagenHerramientas de imagen · Gira una imagen 90° o 180° y refléjala en horizontal o en vertical, con vista previa al instante.
  • Visor y eliminador de EXIFHerramientas de imagen · Consulta los datos EXIF de una foto (cámara, fecha y ubicación) y elimínalos todos o solo la posición GPS, sin perder calidad.
  • HEIC a JPGHerramientas de imagen · Convierte las fotos HEIC y HEIF de iPhone y iPad en archivos JPG o PNG que se abren en cualquier lugar.
  • Difuminar y pixelar imagenHerramientas de imagen · Oculta caras, nombres, placas de vehículos y otros detalles de una foto con pixelado, difuminado o un recuadro sólido.
  • Generador de faviconHerramientas de imagen · Crea un juego completo de favicons (ICO, iconos PNG y manifiesto web) a partir de una imagen, un texto o un emoji.
  • Unir PDFHerramientas PDF · Combina varios archivos PDF en un solo documento, en el orden que elijas, con rangos de páginas opcionales para cada archivo.
  • Dividir PDFHerramientas PDF · Extrae páginas a un nuevo PDF o divide un documento en varios archivos por página, por rango o por un número fijo de páginas.
  • Reordenar páginas de PDFHerramientas PDF · Cambia el orden de las páginas de un PDF arrastrándolas, elimina las que sobran y guarda el resultado.

Probador de regex

Prueba una expresión regular con tu texto y mira cada coincidencia, grupo de captura y reemplazo mientras escribes.

Funciona en tu navegador: tus datos no se suben

Cargando la herramienta…

Acerca de Probador de regex

Una expresión regular (regex) describe un patrón de texto (por ejemplo, “cuatro dígitos, un guion y luego dos dígitos”) y se usa para buscar, validar y reescribir texto en el código, en los editores, en las herramientas de línea de comandos y en las hojas de cálculo. Conseguir que un patrón coincida exactamente con lo que quieres es mucho más fácil cuando ves las coincidencias al instante.

Este probador usa el propio motor de expresiones regulares de JavaScript de tu navegador, así que los resultados son los mismos que dan RegExp, match y replace en JavaScript y Node.js. Las coincidencias se resaltan mientras escribes, cada coincidencia aparece en una lista con su posición y sus grupos de captura, y el modo Reemplazo muestra lo que produce un texto de reemplazo.

Los patrones se ejecutan en un proceso en segundo plano (Web Worker) con un límite de tiempo, así que un patrón con retroceso catastrófico no puede congelar la página. Tu patrón y tu texto se quedan en tu navegador.

Cómo se usa

  1. Escribe un patrón en “Expresión regular”, sin las barras que lo rodean, o haz clic en uno de los “Ejemplos”.
  2. Activa o desactiva las “Banderas” (flags): g, i, m, s, u e y, además de d y v si tu navegador las admite.
  3. Pega en “Texto de prueba” el texto en el que quieres buscar. Las coincidencias se marcan en “Coincidencias resaltadas” y aparecen en “Detalles de las coincidencias” con su índice, su longitud y sus grupos.
  4. Elige “Reemplazo” en “Modo” y escribe un “Texto de reemplazo” como $<day>/$<month>/$<year> para ver el “Resultado después del reemplazo”; luego haz clic en “Copiar resultado”.
  5. Consulta la sintaxis en la “Referencia rápida” que hay debajo del probador y usa “Borrar” para empezar de nuevo.

Funciones

  • Resaltado en vivo y detalles de las coincidencias: Cada coincidencia se resalta en el texto y aparece en una lista con su índice, su longitud y sus grupos de captura numerados y con nombre. Las coincidencias vacías (de longitud cero) se muestran como marcas finas, y con la bandera d se incluyen el inicio y el fin de cada grupo.
  • Vista previa del reemplazo: Prueba un reemplazo con la sintaxis de JavaScript: $1 y $<name> para los grupos, $& para toda la coincidencia, $` y $' para el texto anterior y posterior, y $$ para el signo de dólar.
  • El motor real de JavaScript: La búsqueda usa la implementación de RegExp del navegador, así que el comportamiento y los errores de sintaxis son exactamente los que verá tu código JavaScript.
  • Protección contra patrones descontrolados: Cada ejecución ocurre en un Web Worker y se detiene a los 1,5 segundos. En lugar de una pestaña congelada, obtienes una explicación del retroceso catastrófico (catastrophic backtracking).
  • Ejemplos y referencia rápida: Carga patrones sencillos para texto con forma de correo electrónico, fechas ISO, colores hex y palabras repetidas, y consulta de un vistazo los elementos de sintaxis y los códigos de reemplazo más habituales.

Ejemplos

Cambiar el formato de las fechas

Carga el ejemplo “Fecha ISO” y cambia a “Reemplazo”: el patrón captura el año, el mes y el día como grupos con nombre, y el reemplazo $<day>/$<month>/$<year> convierte 2024-03-15 en 15/03/2024.

Encontrar palabras duplicadas

El patrón \b(\w+)\s+\1\b con la bandera i encuentra "is is" y "the the", incluso cuando la palabra repetida continúa en la línea siguiente. Al reemplazar con $1 se quita la palabra duplicada.

Extraer colores de un CSS

Con #(?:[0-9a-f]{6}|[0-9a-f]{3})\b y las banderas g e i, la lista de coincidencias muestra todos los colores hex de tres y de seis dígitos de una hoja de estilos, y omite los valores no válidos como #12345G.

Diagnosticar un patrón lento

El ejemplo “Patrón lento (demo)”, ^(a+)+$, aplicado a una larga fila de "a" seguida de una "b", se detiene a los 1,5 segundos con una advertencia. El problema es el + anidado; ^a+$ encuentra el mismo texto al instante.

Limitaciones y notas

  • Solo se admite la sintaxis de expresiones regulares de JavaScript. Las funciones de otros dialectos, como los cuantificadores posesivos, los grupos atómicos, la recursión o \A y \Z, no están disponibles, y la sintaxis exacta que se admite depende de tu navegador.
  • El texto de prueba está limitado a 200.000 caracteres. Se listan y resaltan hasta 5000 coincidencias; el recuento de coincidencias y el modo Reemplazo siguen abarcando todas.
  • Cada ejecución se detiene a los 1,5 segundos. Por eso, un patrón legítimo pero muy pesado sobre un texto largo también puede detenerse.
  • Igual que en JavaScript, sin la bandera g solo se encuentra y se reemplaza la primera coincidencia.
  • Los patrones de ejemplo son sencillos a propósito, para aprender y hacer búsquedas rápidas. No son validadores completos: por ejemplo, el ejemplo de fecha acepta 2024-02-30.
  • El índice y la longitud se cuentan en unidades de código UTF-16, como en JavaScript, así que un emoji cuenta como dos caracteres.

Preguntas frecuentes

¿Qué dialecto de expresiones regulares usa este probador?

JavaScript (ECMAScript), ejecutado por el motor de tu navegador. Los patrones que funcionan aquí funcionan igual en código JavaScript y Node.js. Los patrones de Python, PCRE (PHP) y Java suelen ser parecidos, pero cambian en detalles como la compatibilidad con lookbehind, las banderas en línea y la sintaxis de los grupos con nombre.

¿Por qué mi patrón solo encuentra una coincidencia?

Activa la bandera g (global). Sin ella, JavaScript se detiene después de la primera coincidencia, tanto al buscar como al reemplazar.

¿Qué es el retroceso catastrófico?

Los patrones con cuantificadores anidados o que se solapan, como (a+)+ o (\w|\d)*, pueden probar un número exponencial de formas de encajar en un texto que casi coincide. El motor puede pasarse entonces minutos ejecutándose. Hacer el patrón más específico (por ejemplo, ^a+$ en lugar de ^(a+)+$) suele resolverlo.

¿Cómo uso un grupo capturado en el reemplazo?

Escribe $1, $2, etc. para los grupos numerados, o $<name> para un grupo escrito como (?<name>…). $& inserta toda la coincidencia y $$ inserta un signo de dólar literal.

¿Tengo que escapar las barras?

En este probador no: las barras alrededor del cuadro son solo decoración, y el patrón se pasa directamente a new RegExp(). Dentro de un literal de expresión regular de JavaScript como /a\/b/, la barra sí debe escaparse.

¿Mi texto se envía a un servidor?

No. La búsqueda se ejecuta en un Web Worker dentro de esta página, y ni el patrón ni el texto se envían por la red.

Más herramientas gratuitas