Testador de Regex

Teste expressões regulares ao vivo com o motor regex do Rust (WebAssembly): destaque de correspondências, grupos nomeados, flags i/m/s e padrões salvos.

Os dados inseridos e arquivos ficam no navegador

Flags

Digite ou cole o texto para testar o padrão, ou carregue um exemplo.

Correspondências

Insira um padrão — as correspondências com posições e grupos de captura aparecem aqui.

Correspondências encontradas

Padrões salvos

Ainda não há padrões salvos.

NomePadrãoAções

Exemplos

NomePadrãoAções

Salvar padrão

Nesta página

Escreva uma expressão regular e veja cada correspondência destacada no texto de teste enquanto digita, com posições e grupos de captura listados abaixo. Os padrões rodam no crate regex do Rust compilado para WebAssembly, então a sintaxe e o comportamento são os do Rust, não os do JavaScript.

Funcionalidade detalhada

A sintaxe suportada inclui classes de caracteres e classes Unicode como \p{Cyrillic}, quantificadores gulosos e preguiçosos, alternância, âncoras, limites de palavra \b, grupos numerados, grupos nomeados (?<name>…) ou (?P<name>…), grupos sem captura e flags inline como (?i). Lookahead, lookbehind e retrorreferências como \1 não são suportados por esse motor — a ferramenta mostra o erro do motor. Em troca, o tempo de busca cresce linearmente com a entrada, então padrões como (a+)+$ não conseguem travar a página.

Flags: i ignora maiúsculas/minúsculas, m faz ^ e $ casarem em cada linha, s permite que . case uma quebra de linha; com Global desmarcado, só a primeira correspondência aparece. O modo Unicode está sempre ativo no motor do Rust, então \w, \d e . casam letras, dígitos e caracteres não ASCII. As posições são índices de string do JavaScript (UTF-16, um emoji ocupa 2). A lista mostra as 50 primeiras correspondências e a contagem para em 10.000.

Tudo roda localmente. Um padrão só é guardado — com nome, flags e texto de exemplo, no localStorage deste navegador — quando você clica em Salvar padrão. Cinco exemplos prontos (e-mail, endereço IPv4, data, cor hexadecimal, URL) carregam com um clique.

Exemplos práticos

Grupos nomeados: (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) em Released 2026-10-06, patched 2026-11-02 dá 2 correspondências; a primeira é 2026-10-06 em [9-19], com year 2026, month 10, day 06.

Alternância sem diferenciar maiúsculas: error|warn com a flag i nas linhas ERROR: disk full e Warn: low memory casa ERROR e Warn.

Âncoras de linha: ^\w+ nas linhas alpha one e beta two casa só alpha; com a flag m casa alpha e beta.

Lookahead não suportado: foo(?=bar) é rejeitado com “look-around, including look-ahead and look-behind, is not supported” — use foo(bar) e aproveite o grupo.

Como usar esta ferramenta

  1. Digite o padrão

    Escreva a expressão em Padrão, sem barras em volta. Cola lista os tokens mais comuns.

  2. Ajuste as flags

    Em Flags, marque Ignorar maiúsculas, Multilinha ou Ponto corresponde a tudo conforme necessário; desmarque Global para ver só a primeira correspondência.

  3. Adicione o texto de teste

    Cole o texto em String de Teste — as correspondências são destacadas enquanto você digita.

  4. Analise as correspondências

    A lista Correspondências mostra cada uma com a posição [start-end] e os grupos de captura.

  5. Salve ou reutilize

    Clique em Salvar padrão para guardar a expressão e depois use Carregar em Padrões salvos, ou comece por um dos Exemplos.

Dicas e melhores práticas

  • Padrões de JavaScript ou PCRE com lookaround ou \1 precisam ser reescritos: capture o texto vizinho em um grupo ou verifique a condição no código.
  • / não precisa de escape, mas um ponto literal sim: escreva \. para “.”.
  • Flags inline também funcionam dentro do padrão: (?i)error equivale a error com a flag i.
  • Os padrões salvos ficam só neste navegador; limpar os dados do site os apaga.
  • Use \b em volta das palavras (\bcolou?r\b) para que colours não seja casado como colour.