Test regular expressions with live match highlighting and group capture.
This tool runs 100% in your browser. All computation happens locally on your device — your input is never uploaded to any server. Results are for reference only.
A regular expression is a tiny state machine: the engine starts at the left, tries to match the pattern, and on success records a match then resumes just after it. Flags change the walk — g keeps scanning, i relaxes case, m re-anchors ^/$ to each line. Capturing groups (…) store sub-parts so you can pull out just the fraction of each hit.
Pattern /\d+/g against the string 'A1B22C333': the engine finds 1, resumes after it, finds 22, resumes, finds 333. Without the /g flag it stops after the first hit.
Same sandwich description, three extraction goals.
Test regular expressions with match highlighting, capture group display, and all standard flags. Everything runs locally; nothing is uploaded.
FreeToolHub Regex Tester & Highlighter is a free browser-based tool — test regular expressions with match highlighting, capture group display, and all standard flags. No signup, no upload; everything runs locally in your browser.
Prueba y depura tus expresiones regulares en tiempo real, con resaltado de coincidencias y referencia rápida. Gratis y sin registro.
Este probador es un banco de trabajo en vivo para expresiones regulares: escribe un patrón y un texto de ejemplo, y cada coincidencia se resalta sobre la marcha mientras escribes. Más allá de las coincidencias, expone la maquinaria que los desarrolladores necesitan de verdad para depurar patrones: grupos de captura numerados con sus valores extraídos, todas las banderas estándar —global, sin distinguir mayúsculas, multilínea y dotall— y errores claros cuando el patrón no compila. Los grupos con nombre se muestran con su etiqueta, y el contador de coincidencias se actualiza en vivo, de modo que puedes ajustar un patrón contra datos reales en lugar de adivinar si funciona.
Los desarrolladores que construyen reglas de validación para formularios y APIs confirman que un patrón acepta todas las entradas válidas y rechaza las inválidas antes de subirlo a producción. Los ingenieros de datos que escriben patrones de extracción para registros y texto se llevan los grupos de captura que han nombrado directamente del panel. Quien mantiene expresiones regulares antiguas —a menudo el código más temido de un repositorio— las pega aquí con una entrada representativa para entender qué coincide realmente antes de tocarlo. Y los ingenieros de QA construyen cadenas de casos límite que exponen errores de codicia frente a pereza y de anclaje antes de que lo haga producción.
(1) Introduce tu patrón; los errores de compilación aparecen de inmediato con pistas de posición. (2) Activa las banderas: g para todas las coincidencias, i para ignorar mayúsculas, m para que ^ y $ se apliquen en cada línea, s para que el punto coincida con los saltos de línea, además de u e y. (3) Pega el texto de ejemplo en el área del sujeto; las coincidencias se resaltan en vivo y el contador se actualiza. (4) Inspecciona los resultados: cada coincidencia con su índice, y cada grupo de captura —numerado y con nombre— con el texto extraído y una comprobación rápida de nulo para los grupos opcionales que no participaron. Los patrones y el texto permanecen locales en tu navegador.
Cinco patrones de fallo explican la mayoría de los errores de regex. Cuantificadores codiciosos que se tragan demasiado: .* en <.*> consume hasta el último > de la línea; cambia a la versión perezosa .*? o usa clases negadas como [^>]*. Caracteres especiales sin escapar: un punto literal debe ser \. o coincide con cualquier carácter, la fuga clásica en la validación de correos. Anclajes que faltan: ^\d{4} sin ^ coincide con los últimos cuatro dígitos en cualquier sitio; decide si quieres coincidencia de subcadena. Backtracking catastrófico: cuantificadores anidados como (a+)+ contra una entrada larga que no coincide deja colgados los motores; desenrolla el patrón o añade comportamiento posesivo tipo atómico donde esté soportado. Y deriva entre plataformas: lookbehind, grupos con nombre y escapes de propiedades Unicode varían entre motores, así que prueba contra la variante que realmente usas. Este probador usa la variante de JavaScript, que coincide exactamente con los entornos de navegador y Node.
El motor RegExp nativo de JavaScript (ECMAScript): el mismo que corre en todos los navegadores y en Node.js. Construcciones como lookahead (?=...), grupos sin captura (?:...), grupos con nombre (?<name>...) y escapes unicode funcionan tal como lo harían en código JavaScript de producción.
Por diferencias de variante. PCRE (PHP, grep) y el módulo re de Python admiten variantes de lookbehind, retrorreferencias en el patrón y banderas que JavaScript no tiene, y al revés también hay detalles que difieren. Si un patrón funciona en PCRE pero no aquí, busca construcciones fuera del conjunto de ECMAScript; en la dirección contraria lo habitual son los grupos con nombre propios de JS o la bandera s.
g encuentra todas las coincidencias en lugar de parar en la primera; i hace que la comparación ignore mayúsculas; m hace que ^ y $ coincidan al principio y al final de cada línea en lugar de los bordes de la cadena; s permite que el punto coincida con saltos de línea; y u activa el tratamiento unicode completo (imprescindible para emojis y textos no latinos). Combinar g con el resaltado muestra todas las apariciones, que es como esta herramienta lista los resultados.
Hay dos banderas que trabajan juntas: m hace que los anclajes (^, $) caigan en los bordes de cada línea, y s hace que el punto cruce los saltos de línea. Para patrones como «inicio de una línea concreta», usa ^tuTexto con m activada. Para frases de varias líneas, activa s o sustituye los espacios de tu patrón por [\s\S] o \s+.
It uses the JavaScript RegExp engine with all standard flags: g (global), i (case-insensitive), m (multiline), s (dotall), u (unicode), and y (sticky). Live match highlighting shows all matches simultaneously. Capture groups are displayed in a numbered list below the match results for easy debugging.
Yes. Enable the m flag for multiline mode (^ and $ match line boundaries) or the s flag for dotall mode (. matches newlines). This is essential for parsing log files, extracting data from structured text, and validating multiline form input. All processing is 100% in-browser.
What do you call a really smart cookie?
No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.
☕Support me on Ko-fi— support the free tier100% of proceeds go towards hosting & building more free tools.