Voltar ao início Desenvolvedor Testador de Regex

Testador de Regex

Teste expressões regulares

Como usar Testador de Regex

Teste expressões regulares Ferramenta gratuita online, sem registo, sem anúncios intrusivos. Use agora.

Para que são usadas as expressões regulares?

Expressões regulares (regex) são padrões que correspondem a texto. Dominá-las multiplica a produtividade de um desenvolvedor — tarefas que exigiriam 50 linhas de código de manipulação de strings podem ser resolvidas com uma única expressão regular bem construída.

Padrões comuns em português/Brasil: CEP: \d{5}-\d{3}. CPF: \d{3}\.\d{3}\.\d{3}-\d{2}. Telefone: \(\d{2}\)\s?\d{4,5}-\d{4}. Data BR: \d{2}/\d{2}/\d{4}. E-mail: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}.

Frequently Asked Questions

O que significam os indicadores g, i, m e s em regex?

g (global): encontra todas as correspondências, não apenas a primeira. i (case-insensitive): corresponde independentemente de maiúsculas/minúsculas — útil para português onde nomes próprios variam. m (multiline): ^ e $ correspondem ao início/fim de cada linha, não apenas da string inteira. s (dotAll): o ponto (.) também corresponde a quebras de linha. Os indicadores são combinados: /padrão/gim encontra todas as ocorrências sem distinção de maiúsculas em múltiplas linhas.

Qual é a diferença entre correspondência greedy e lazy?

Quantificadores greedy (+, *, {n,}) correspondem ao máximo possível. <.+> corresponde à string inteira '<b>negrito</b>' como uma única correspondência. Quantificadores lazy (+?, *?, {n,}?) correspondem ao mínimo possível. <.+?> corresponde a '<b>' e '</b>' separadamente. Use correspondência lazy ao extrair tags HTML individuais ou expressões entre colchetes.

O que é um grupo de captura vs um grupo de não-captura?

(padrão) é um grupo de captura — o texto correspondente é armazenado e pode ser referenciado como $1, $2, etc. nas substituições. (?:padrão) é um grupo de não-captura — agrupa o padrão para quantificadores ou alternância sem armazenar a correspondência. Use grupos de não-captura quando precisar de agrupamento, mas não do valor capturado, para melhor desempenho.

O que são lookahead e lookbehind?

Lookahead (?=padrão) afirma que o que segue corresponde ao padrão, sem consumir caracteres. Lookbehind (?<=padrão) afirma o que precede. Versões negativas: (?!padrão) e (?<!padrão). Exemplo: R\$\s*\d+ corresponde a valores em reais; \d+(?=\sreais) corresponde a números seguidos de ' reais' sem incluir 'reais' na correspondência.

Por que minha regex funciona no JavaScript mas não no Python?

Os sabores de regex diferem ligeiramente entre linguagens. Python usa \A e \Z para início/fim de string (vs ^ e $). Strings raw do Python (r'padrão') evitam o duplo escape de barras invertidas. JavaScript não suporta lookbehind em motores mais antigos. PCRE (PHP, Perl) tem recursos não disponíveis em todos os motores. Sempre teste a regex na linguagem de destino antes de usar em produção.

Regex vs métodos de string vs parser vs IA

A regex é ideal para correspondência e extração baseada em padrões — poderosa, mas críptica para quem não está familiarizado. Os métodos de string (split, indexOf, slice) são mais claros para operações simples e devem ser preferidos quando a regex é exagero. Parsers dedicados (HTML, JSON, CSV) são sempre preferíveis à regex para formatos estruturados — nunca analise HTML com regex. A análise assistida por IA lida com linguagem natural ambígua onde os padrões são imprevisíveis. Use a ferramenta mais simples que resolva o problema com segurança.

☕ Buy me a coffee