* Seu conteúdo não é transferido para o servidor. Todos os cálculos são realizados diretamente no navegador
Digite uma expressão regex para começar
O que é um testador de Regex?
Um testador de regex (expressão regular) é uma ferramenta interativa que permite construir e testar padrões regex contra texto de exemplo em tempo real.
Conforme você digita, correspondências são destacadas diretamente no texto de teste, e uma lista detalhada mostra cada correspondência com posição, grupos capturados e comprimento.
Esta ferramenta roda inteiramente no seu navegador — nenhum dado é enviado a qualquer servidor.
Recursos principais
- Destaque de correspondências em tempo real — veja correspondências visualmente no texto de teste com cores alternadas para clareza.
- Inspeção de grupos de captura — visualize grupos de captura nomeados e numerados para cada correspondência.
- Prévia de substituição — teste localizar e substituir baseado em regex com suporte a tokens $1, $& e '$<name>'.
- Explicação do padrão — detalhamento token a token do seu regex, mostrando o que cada parte significa (ex: \d+ → "um ou mais dígitos").
- Proteção contra backtracking catastrófico — correspondência roda em uma thread em segundo plano com timeout, então padrões ruins não congelam a página.
- Biblioteca de padrões — comece rapidamente com padrões comuns para email, URL, IP, telefone, senhas e mais.
Casos de uso comuns
- Aprendendo regex — veja como cada token contribui para a correspondência e teste seu entendimento contra texto de exemplo.
- Depuração — cole um regex existente e teste contra dados reais para verificar se corresponde ao esperado.
- Extração de dados — use grupos de captura para extrair partes específicas de arquivos de log, CSVs ou texto estruturado.
- Localizar e substituir — pré-visualize transformações de texto complexas antes de aplicá-las no seu código.
- Validação — teste padrões de validação de email, telefone, URL e outros contra casos extremos.
Referência rápida
| Token | Significado | Exemplo |
|---|---|---|
| Classes de caracteres | ||
| \d | Qualquer dígito (0-9) | 123 → matches 1,2,3 |
| \w | Qualquer caractere de palavra (a-z, A-Z, 0-9, _) | a1_ → matches a,1,_ |
| \s | Qualquer espaço em branco (espaço, tab, nova linha) | "a b" → space match |
| [...] | Classe de caracteres personalizada | [aeiou] → vowels |
| [^...] | Classe de caracteres negada | [^0-9] → non-digits |
| Âncoras e limites | ||
| ^ | Início da string | "^hello" → at start |
| $ | Fim da string | "end$" → at end |
| \b | Limite de palavra | "\bword\b" → word |
| \B | Não limite de palavra | "\Bing\B" → inside |
| Quantificadores | ||
| * | Zero ou mais | a* → "", a, aa, aaa |
| + | Um ou mais | a+ → a, aa, aaa |
| ? | Zero ou um | a? → "", a |
| {n} | Exatamente n | a{3} → aaa |
| {n,} | Pelo menos n | a{2,} → aa, aaa |
| {n,m} | Entre n e m | a{2,4} → aa, aaa, aaaa |
| *?, +?, ?? | Variante preguiçosa (corresponde o mínimo possível) | "<.*?>" → shortest match |
| Grupos e lookaround | ||
| (...) | Grupo de captura | (abc)+ → capture abc |
| (?:...) | Grupo de não captura | (?:abc)+ → group w/o capture |
| (?<name>...) | Grupo de captura nomeado | "(?<year>\d{4})" |
| (?=...) | Lookahead positivo | q(?=u) → q followed by u |
| (?!...) | Lookahead negativo | q(?!u) → q not followed by u |
| (?<=...) | Lookbehind positivo | "(?<=@)\w+" |
| (?<!...) | Lookbehind negativo | "(?<!@)\w+" |
| Escapes | ||
| \n | Nova linha | "line\n" → newline |
| \t | Tab | "col\t" → tab |
| \\ | Barra invertida literal | "c:\\path" |
| \. | Ponto literal | "end\." → literal dot |
| \/ | Barra diagonal literal | "path\/to\/file" |
Limitações
- Apenas regex JavaScript — esta ferramenta usa o mecanismo de regex nativo do navegador. PCRE, Python e outros sabores de regex podem se comportar de forma diferente.
- Sem lookbehind em navegadores antigos — asserções lookbehind (?<=...) requerem ES2018+. Safari adicionou suporte apenas em 2023.
- Limite de 1.000 correspondências — para manter a interface responsiva, apenas as primeiras 1.000 correspondências são renderizadas.
- Grupos de captura não destacados no texto — grupos são mostrados na lista de correspondências, não inline no texto destacado.