Ir para o conteúdo
1123.net
PT
1123.net

Buscar ferramentas

Filtre o diretório de ferramentas. Tudo roda no seu navegador.

Digite para filtrar as ferramentas. Pressione Enter para abrir o primeiro resultado.

Testador de regex

Este testador executa expressões regulares JavaScript no seu texto e mostra cada correspondência, sua posição e seus grupos de captura. Os padrões são avaliados localmente, então nada é enviado nem registrado.

Seus dados são processados localmente no seu navegador e não são enviados ao nosso servidor.

Flags
Correspondências (2)
Contact ada@example.com or grace@example.org for details.
  1. #1 ada@example.com posição 8
  2. #2 grace@example.org posição 27

Como usar esta ferramenta

  1. 1 Digite uma expressão regular e marque as flags de que você precisa.
  2. 2 Cole o texto a pesquisar; as correspondências são destacadas e listadas enquanto você digita.
  3. 3 Escolha um dos exemplos comuns para partir de um padrão que já funciona.
  4. 4 Copie os valores encontrados ou limpe o formulário.

Fórmula e lógica de cálculo

Correspondências

new RegExp(pattern, flags).exec(text)

O padrão é compilado pelo motor JavaScript do navegador. Sem a flag g, só a primeira correspondência é retornada; com g, o testador continua procurando até o fim do texto.

Flags

g global · i ignorar maiúsculas · m multilinha · s dotAll · u unicode · y sticky

As flags mudam a forma como o motor interpreta o padrão. O testador as repassa ao construtor RegExp e mostra erros de sintaxe com a mensagem do próprio motor.

Exemplo resolvido

Encontrar endereços de e-mail

Uma mensagem de suporte contém dois endereços de e-mail.

  1. Padrão: \b[\w.+-]+@[\w-]+\.[\w.]+\b
  2. Flag: g
  3. Resultado: ada@example.com e grace@example.org

Cada correspondência aparece com seu índice inicial; os grupos de captura são exibidos quando o padrão tem parênteses.

Capturar uma data

Extrair ano, mês e dia de datas ISO.

  1. Padrão: (\d{4})-(\d{2})-(\d{2})
  2. Flag: g
  3. Grupos: ano, mês e dia em cada correspondência

As partes entre parênteses são retornadas como grupos de captura na ordem em que aparecem no padrão.

Casos extremos e precisão

Backtracking catastrófico

Quantificadores aninhados como (a+)+ podem obrigar o motor a um trabalho exponencial em algumas entradas. Se a página travar, simplifique o padrão; o testador não consegue interromper uma expressão em execução.

Correspondências de comprimento zero

Padrões como ^ ou \b podem corresponder a uma string vazia. Depois de uma correspondência vazia, o testador avança a posição de busca para não entrar em loop infinito.

Somente sintaxe JavaScript

O testador usa a sintaxe RegExp do JavaScript, não a de PCRE ou de Python. Lookbehind e grupos nomeados só funcionam nos motores que os implementam.

Perguntas frequentes

Por que só aparece uma correspondência? +

A flag g (global) é necessária para encontrar todas as correspondências. Sem ela, o testador para no primeiro resultado.

O que são grupos de captura? +

Cada parte do padrão entre parênteses captura texto. Os grupos são numerados da esquerda para a direita e aparecem ao lado da correspondência; um grupo opcional sem correspondência é exibido como ∅.

Meu padrão e meu texto são enviados para algum servidor? +

Não. A busca roda no seu navegador com o motor RegExp nativo; nada é enviado a um servidor.

Por que minha expressão regular está lenta? +

Quantificadores aninhados e alternâncias ambíguas causam backtracking catastrófico. Reescreva o padrão para ser mais específico ou ancore-o para reduzir o espaço de busca.

A ferramenta aceita grupos nomeados? +

O motor repassa a sintaxe moderna do JavaScript, então grupos nomeados funcionam quando o navegador os implementa. A lista de resultados mostra os grupos numerados.