Testador de Regex

Teste expressões regulares contra seu texto

Correspondências destacadas
2 correspondências

Por que testar regex no navegador?

Os motores de regex variam sutilmente entre as linguagens: PCRE (PHP), POSIX (grep), Perl, `re` do Python e regex do JavaScript têm conjuntos de recursos diferentes. Testar no navegador usa o motor JavaScript — exatamente o que roda no seu código do lado do cliente, no Node.js ou nas regras de validação do Inertia.

O testador destaca correspondências enquanto você digita, lista grupos de captura por correspondência e mostra as flags de regex atualmente em efeito. Padrões ruins mostram um erro de sintaxe claro em vez de falhar silenciosamente.

Casos de uso

  • Extrair campos de logs — IDs de pull request, IPs ou timestamps de linhas de log não estruturadas.
  • Validar entrada do utilizador — verificar e-mails, códigos postais ou números de telefone antes de enviar um formulário.
  • Substituição em massa — varrer um código-fonte ou markdown colado para renomear um padrão com espaços reservados de grupos de captura.
  • Remover dados sensíveis — remover e-mails, JWTs ou números de cartões de crédito de logs antes de partilhar capturas de ecrã.

Exemplos

Extracting emails with capture groups
Entrada
Pattern: \b([\w.]+)@([\w.]+)\.([a-z]{2,})\b
Flags: gi
Text: Contact [email protected] or [email protected]
Saída
Match 1: [email protected]
  Group 1: alice
  Group 2: example
  Group 3: com

Match 2: [email protected]
  Group 1: bob
  Group 2: test
  Group 3: org

Perguntas frequentes

Qual sabor de regex é suportado?

Regex JavaScript / ECMAScript. Suporta lookbehind em navegadores modernos, grupos nomeados (`(?<name>...)`), modo Unicode (`flag u`), e correspondência sticky (`flag y`).

Por que meu padrão PCRE não funciona?

PCRE tem recursos que o regex JavaScript não possui: padrões recursivos, quantificadores possessivos, padrões condicionais. JavaScript cobre a maioria das necessidades do dia a dia, mas não aqueles casos avançados.

Como funcionam os grupos de captura?

Parênteses ao redor de uma parte do padrão criam um grupo de captura numerado. Dentro da correspondência, o grupo 1 é o primeiro `(...)`, o grupo 2 é o segundo, etc. Use `(?:...)` para um grupo não capturante.

Um regex de loop infinito travará o navegador?

Retrocesso catastrófico pode congelar a aba brevemente. O testador roda na sua aba, então um padrão ruim afeta apenas esta ferramenta — feche e reabra se necessário.

Meu padrão ou texto de teste é enviado?

Não — ambos permanecem no seu navegador.