Testador de Expressões Regulares (Regex)

Teste expressões regulares contra qualquer texto diretamente no navegador. Veja todos os matches, índices e grupos capturados. Suporta flags g, i, m, s, u, y. Processamento 100% local.

Revisão técnica: Cesar Gargiulo (segurança da informação)
Valim, o mascote do ValorFinal, representando a categoria Tecnologia

Processamento 100% local.

Nenhum texto ou padrão é enviado para servidor. O teste roda em segundo plano, com limite de 2 segundos: se o padrão entrar em backtracking catastrófico, a execução é interrompida e a página continua respondendo.

Máximo: 300 caracteres

Flags

Máximo: 5.000 caracteres

Gostou? Mostre pra todo mundo

Gere um card bonito com a marca do ValorFinal para postar nos Stories ou mandar no WhatsApp. Nada que você digitou aparece no card.

Coloque no seu site

O padrão que você digita é compilado com new RegExp(padrão, flags) e aplicado ao texto de teste com String.matchAll(). A página devolve cada ocorrência, o índice onde ela começa, os grupos de captura e os grupos nomeados. Tudo roda no seu navegador, dentro de um Web Worker com tempo limite, e nada é enviado para servidor.

Como funciona o testador de regex

A engine é a do próprio JavaScript (ECMAScript), a mesma do Node e dos navegadores. Isso importa na hora de comparar resultados: PCRE, RE2, Python e Go têm diferenças reais, como recursão, quantificador possessivo e lookbehind de tamanho variável. Um padrão que funciona aqui pode se comportar de outro jeito na sua linguagem.

As flags mudam o significado do padrão. g procura todas as ocorrências e é sempre ligada aqui; i ignora a diferença entre maiúscula e minúscula; m faz ^ e $ valerem por linha; s faz o ponto casar a quebra de linha; u liga o modo Unicode, necessário para \p{L}; y prende a busca à posição atual.

A execução acontece em um Web Worker separado, com limite de 2 segundos. Um regex já em execução não pode ser interrompido de dentro da própria thread, nem por try/catch nem por temporizador: ele simplesmente não termina. Encerrar o Worker é a única forma de recuperar a página, e é o que acontece quando o tempo estoura.

Para converter o resultado em outros formatos ou testar codificações, veja também as ferramentas DevOps.

Fórmula

matches = [...texto.matchAll(new RegExp(padrão, flags))]

índice = match.index · grupos = match.slice(1) · nomeados = match.groups

Base: especificação ECMAScript (RegExp) e a engine nativa do navegador. Execução local, sem envio de dados.

Limitações

  • Usa a engine de JavaScript. Não reproduz recursão, quantificador possessivo, grupo atômico nem verbos de controle de PCRE, e não simula o comportamento linear de RE2.
  • Mostra no máximo 200 ocorrências e aceita 5.000 caracteres de texto, para não travar o navegador com listas gigantes.
  • O tempo limite protege esta página, não o seu sistema. Um padrão que estoura o tempo aqui continua sendo uma porta de negação de serviço no seu servidor.
  • Não substitui teste automatizado: use os casos daqui como base para os testes do seu próprio código.

Coloque a calculadora de Regex Tester no seu site, de graça

Tem site, blog ou loja virtual? Esta calculadora tem uma versão para incorporar: você copia um código e cola no seu HTML. Sem cadastro, sem mensalidade e sem limite de acessos, e o cálculo acompanha a regra vigente sozinho.

calculadora de Regex Tester para sitever todas as calculadoras para site

Calculadoras relacionadas

Guias sobre este tema

ValorFinal VIP: Sem anúncios, até 500 cenários salvos e comparação de cenários lado a lado.

Cálculo auditável, com fórmula e fontes transparentes

Atualizado em . Fontes: ECMAScript Specification / MDN Web Docs / RFC 5234.

Processamento local: esta ferramenta roda no seu navegador e nada é enviado a servidores automaticamente.

Como validamos

Referências técnicas

Links externos para o que foi consultado na construção desta página, com a natureza de cada fonte identificada. O conteúdo delas pode mudar sem aviso; em caso de divergência, vale sempre a fonte primária.

Incorpore esta calculadora no seu site (grátis)

Copie e cole o código no seu site. A calculadora se atualiza sozinha. O crédito ao ValorFinal vem junto do código e a gente agradece quem mantém, mas ele é opcional: pode remover sem perder o widget. O link sai com rel="nofollow", ou seja, não transfere autoridade de busca para a gente.

Perguntas frequentes

O que é uma expressão regular (regex)?

Uma expressão regular (regex ou regexp) é um padrão de texto usado para encontrar, validar ou substituir sequências de caracteres. Por exemplo, o padrão '\d{3}-\d{4}' encontra números no formato 000-0000. Regex é amplamente usada em linguagens de programação, editores de texto e ferramentas de linha de comando.

O que são as flags de regex?

Flags modificam o comportamento da regex: 'g' (global) encontra todos os matches em vez de apenas o primeiro; 'i' (insensitive) ignora maiúsculas/minúsculas; 'm' (multiline) faz ^ e $ corresponder ao início/fim de cada linha; 's' (dotAll) faz o ponto '.' também capturar quebras de linha.

O que são grupos de captura em regex?

Grupos de captura são partes entre parênteses na regex que 'capturam' substrings para referência posterior. Por exemplo, em '(\d{4})-(\d{2})' aplicado a '2026-05', o grupo 1 captura '2026' e o grupo 2 captura '05'. Grupos nomeados usam a sintaxe '(?<nome>padrão)'.

O que é ReDoS (Regex Denial of Service)?

ReDoS ocorre quando uma regex com backtracking catastrófico é executada contra um texto que quase casa, e o tempo de execução dobra a cada caractere a mais. Padrões como '(a+)+' ou '([a-z]+)+@' são vulneráveis: contra 26 caracteres o padrão '(a+)+$' já leva cerca de 0,4 segundo, e contra 40 caracteres trava a aba. Esta página executa o teste em um Web Worker separado com limite de 2 segundos e encerra o Worker quando o tempo estoura, então a página continua respondendo. Esse limite protege a página, não o seu sistema: um padrão que estoura aqui continua sendo uma porta de negação de serviço no seu servidor.

Por que o teste roda em segundo plano e não na própria página?

Porque uma expressão regular já em execução não pode ser interrompida de dentro da mesma thread. Nem try/catch nem temporizador funcionam: o try/catch só age quando algo lança exceção, e backtracking catastrófico não lança nada, apenas não termina. Enquanto isso, a thread está presa no regex e não processa cliques nem temporizadores. Rodando em um Web Worker, a página continua livre e consegue encerrar o Worker, que é a única forma real de cancelar a execução.

Meus dados são enviados para algum servidor?

Não. O padrão regex e o texto de teste são processados inteiramente no navegador usando a engine de regex nativa do JavaScript. Nenhum dado é transmitido para servidores. Você pode usar esta ferramenta mesmo offline.

Esta ferramenta executa código do meu input?

Não. O padrão é tratado como uma string e compilado pela engine de regex do JavaScript com new RegExp(). Nenhuma função eval() ou similar é usada. A única operação realizada é a correspondência de padrões contra o texto informado.