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.
Teste e depure suas expressões regulares em tempo real, com realce das ocorrências e referência rápida. Grátis e sem cadastro.
Este testador é uma bancada de trabalho ao vivo para expressões regulares: digite um padrão e um texto de exemplo, e cada correspondência é destacada no lugar enquanto você digita. Além da correspondência, ele expõe a máquina de que os desenvolvedores realmente precisam para depurar padrões — grupos de captura numerados com seus valores extraídos, todas as flags padrão incluindo global, insensível a maiúsculas/minúsculas, multilinha e dotall, e erros claros quando o padrão falha ao compilar. Grupos nomeados são renderizados com seus rótulos, e as contagens de correspondência são atualizadas ao vivo, para que você possa ajustar um padrão contra dados reais em vez de adivinhar se ele funciona.
Desenvolvedores que constroem regras de validação para formulários e APIs confirmam que um padrão aceita toda entrada válida e rejeita a inválida antes de enviá-lo. Engenheiros de dados que escrevem padrões de extração para logs e texto extraem os grupos de captura que nomearam diretamente do painel. Qualquer pessoa que mantém regex legado — frequentemente o código mais temido em um repositório — cola aqui com entrada representativa para entender o que ele realmente corresponde antes de tocá-lo. Engenheiros de QA constroem strings de casos de limite que expõem erros de ganancioso-versus-preguiçoso e âncora antes que a produção faça.
(1) Digite seu padrão; erros de compilação aparecem imediatamente com dicas de posição. (2) Alterne as flags — g para todas as correspondências, i para insensibilidade a maiúsculas/minúsculas, m para ^ e $ por linha, s para que ponto corresponda a novas linhas, além de u e y. (3) Cole o texto de amostra na área de assunto; correspondências são destacadas ao vivo e a contagem é atualizada. (4) Inspecte os resultados: cada correspondência com seu índice, e todo grupo de captura — numerado e nomeado — com texto extraído e uma verificação rápida de nulo para grupos opcionais que não participaram. Padrões e texto permanecem locais no seu navegador.
Cinco padrões de falha respondem pela maioria dos bugs de regex. Quantificadores gananciosos consumindo demais: .* em <.*> consome até o último > na linha — mude para .*? preguiçoso ou use classes negadas como [^>]*. Caracteres especiais não escapados: um ponto literal deve ser \. ou corresponde a qualquer caractere, o clássico vazamento de validação de e-mail. Âncoras ausentes: ^\d{4} sem ^ corresponde aos últimos quatro dígitos em qualquer lugar — decida se a correspondência de substring é pretendida. Retrocesso catastrófico: quantificadores aninhados como (a+)+ contra entrada longa não correspondente travam engines — desenrole o padrão ou adicione comportamento possessivo atômico onde suportado. E deriva de plataforma: lookbehind, grupos nomeados e escapes de propriedade Unicode variam entre engines, então teste contra o sabor que você envia. Este testador executa o sabor JavaScript, que corresponde exatamente a ambientes de navegador e Node.
O motor RegExp embutido do JavaScript (ECMAScript) — o mesmo que roda em cada navegador e no Node.js. Construtos como lookahead (?=...), grupos não capturantes (?:...), grupos nomeados (?<name>...) e escapes unicode todos funcionam como fariam em código JavaScript de produção.
Diferenças de sabor. PCRE (PHP, grep) e o re do Python suportam variantes de lookbehind, referências retroativas em padrões e flags que o JavaScript não possui — e vice-versa em pequenos detalhes. Se um padrão funciona em PCRE mas não aqui, procure construtos fora do conjunto ECMAScript; a direção reversa geralmente envolve grupos nomeados apenas do JS ou a flag s.
g encontra todas as correspondências em vez de parar na primeira; i torna a correspondência insensível a maiúsculas/minúsculas; m faz ^ e $ corresponderem a cada início/fim de linha em vez de bordas de string; s permite que . corresponda a novas linhas; u habilita manipulação completa de unicode (essencial para emoji e texto não latino). Combinar g com um destaque mostra todas as ocorrências — é assim que esta ferramenta lista os resultados.
Duas flags funcionam juntas: m permite que âncoras (^, $) pousem em cada limite de linha, e s permite que . cruze quebras de linha. Para padrões como 'início de uma linha específica', use ^seutexto com m habilitado. Para frases multilinha, habilite s ou substitua espaços em seu padrão por [\s\S] ou \s+.
Ela usa o motor RegExp JavaScript com todas as flags padrão: g (global), i (insensível a maiúsculas/minúsculas), m (multilinha), s (dotall), u (unicode) e y (sticky). Destaque ao vivo de correspondência mostra todas as correspondências simultaneamente. Grupos de captura são exibidos em uma lista numerada abaixo dos resultados de correspondência para fácil depuração.
Sim. Habilite a flag m para modo multilinha (^ e $ correspondem a limites de linha) ou a flag s para modo dotall (. corresponde a novas linhas). Isso é essencial para analisar arquivos de log, extrair dados de texto estruturado e validar entrada de formulário multilinha. Todo processamento é 100% no navegador.
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.