Testador de Regex
Teste expressões regulares contra seu texto
- #1 @12: [email protected]
- #2 @33: [email protected]
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
Pattern: \b([\w.]+)@([\w.]+)\.([a-z]{2,})\b
Flags: gi
Text: Contact [email protected] or [email protected]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: orgPerguntas 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.
