Prueba expresiones regulares (regex) en tiempo real, 100% en tu navegador. Escribe un patrón arriba y el texto a analizar abajo: las coincidencias se resaltan al instante dentro del editor y se listan una a una con su posición. Ideal para validar un patrón (fechas, correos, DNI…), extraer datos o afinar la regex antes de llevarla a tu código. La herramienta localiza y resalta; no modifica tu texto.
1. Escribe la regex en «Expresión regular» — solo el patrón, sin las barras /…/.
2. En «Flags» pon las letras que quieras (por defecto gi).
3. Pega el texto en «Texto de prueba».
4. Tras una breve pausa aparecen el nº de coincidencias, el resaltado en el editor y la lista debajo.
5. Si el patrón no es válido verás «Expresión regular no válida» en rojo.
6. En la barra de herramientas tienes Reiniciar, Exportar e Importar (guarda patrón + flags + texto).
Las flags cambian cómo se aplica el patrón. Escribe las letras seguidas (p. ej. gim); solo se aceptan g i m s u y y el resto se ignora. Nota: g siempre está activo aunque no lo escribas.
• g (global) — busca todas las coincidencias, no solo la primera. Aquí va siempre puesto.
• i (insensible a mayúsculas) — cafe encuentra Cafe y CAFE.
• m (multilínea) — ^ y $ casan al inicio/fin de cada línea, no solo del texto entero.
• s (dotAll) — el punto . pasa a casar también el salto de línea. Sin s, . no cruza líneas.
• u (unicode) — interpreta el patrón como Unicode: habilita \u{...} y las clases \p{...} (p. ej. \p{L} = cualquier letra). Necesario para emojis y puntos de código.
• y (sticky) — obliga a que la coincidencia empiece exactamente en la posición de búsqueda; no salta hacia adelante. Útil para tokenizar de forma contigua.
Un grupo (...) agrupa parte del patrón y captura lo que casa dentro. Tres formas:
• Numerados — (\d{4})-(\d{2}) crea el grupo 1 y el 2 por orden de paréntesis de apertura. Sirven para cuantificar ((ab)+), alternar ((rojo|azul)) y para retrorreferencias con \1 ((\w)\1 casa una letra repetida).
• Con nombre — (?<año>\d{4}) le pone nombre al grupo. En esta herramienta, solo los grupos con nombre se muestran junto a cada coincidencia (como JSON, p. ej. {"año":"2026"}); los numerados agrupan y afectan al patrón, pero no se listan por separado. Consejo: si quieres ver una parte capturada, ponle nombre.
• Sin captura — (?:...) agrupa pero no captura (más rápido y no ocupa número).
Cuando el patrón es válido verás:
• El número total de coincidencias arriba.
• Un resaltado en vivo de cada coincidencia dentro del editor de texto.
• Una lista con, por cada coincidencia: su índice (#1, #2…), el texto casado completo, la posición (índice del carácter donde empieza, base 0) y los grupos con nombre.
Si no hay ninguna coincidencia, el contador queda en 0 y no se resalta nada. Como g está siempre activo, se muestran todas las coincidencias del texto.
Las piezas más usadas:
• Clases — \d dígito, \w letra/número/_, \s espacio; en mayúscula, lo contrario (\D, \W, \S). . cualquier carácter (salvo el salto de línea; ver flag s).
• Conjuntos — [aeiou] uno de esos; [a-z] rango; [^0-9] negado.
• Cuantificadores — * 0 o más, + 1 o más, ? 0 o 1, {2,4} de 2 a 4. Añade ? para hacerlos perezosos (.*?).
• Anclas — ^ inicio, $ fin, \b límite de palabra.
• Alternancia — gato|perro casa uno u otro.
• Escape — antepón \ a un carácter especial para buscarlo literal: \., \(, \$.
Esta herramienta localiza y resalta, no sustituye. Pero una vez que tu patrón funciona, puedes usarlo para reemplazar en tu editor o en código (String.replace). En la cadena de reemplazo se referencian los grupos:
• $1, $2… — el contenido del grupo numerado. Ej.: patrón (\d{4})-(\d{2}) y reemplazo $2/$1 convierte 2026-07 en 07/2026.
• $<nombre> — el grupo con nombre: con (?<a>\d{4}), el reemplazo $<a> inserta lo capturado.
• $& — toda la coincidencia completa.
• $$ — un símbolo $ literal.
• Expresión no válida — paréntesis o corchetes sin cerrar, un cuantificador suelto (*abc) o un escape incompleto. Sale el aviso en rojo y no se calcula.
• No pongas las barras /…/ — escribe solo el patrón; las flags van en su propio campo.
• El punto no cruza líneas — . no casa el salto de línea; activa la flag s si lo necesitas.
• ^ y $ en varias líneas — sin m casan el inicio/fin del texto entero, no de cada línea.
• Codicioso de más — <.*> se come de más; usa el perezoso <.*?>.
• Olvidar escapar — ., +, (, $… son especiales; escápalos con \ para buscarlos literales.