NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
Testador de Expressões Regulares Python

Testador de Expressões Regulares Python

Teste e depure expressões regulares Python online com o Testador de Regex Python do Qodex. Destaque correspondências instantaneamente e refine padrões usados para validação de e-mail, verificação de senhas, validação de número de telefone e muito mais. Use dados do Gerador de E-mail ou Gerador de UUID, e compare o comportamento com os Testadores de Regex Java ou JavaScript.

Testador de Regex Python - Documentação

O que é Regex em Python?

Python utiliza o módulo nativo re para suporte a expressões regulares. Regex permite que você combine, extraia e transforme texto usando padrões. É amplamente utilizado em:

  • Validação de dados (ex.: e-mail, senha, números de telefone)

  • Processamento e limpeza de texto

  • Web scraping e análise de logs

  • Extração de padrões de strings


Componentes Principais do Regex em Python

  • Correspondência em Tempo Real - Destacamento imediato de padrões enquanto você digita.

  • Suporta Sintaxe do módulo re - Funciona exatamente como o motor de regex do Python.

  • Grupos de Captura Exibidos - Mostra grupos de captura e correspondências.

  • Fácil para Iniciantes - Cole seu regex e a string de teste, sem necessidade de código.

  • Integra com Ferramentas de Teste - Experimente com Gerador de Endereços, Gerador de Senhas ou Gerador de Endereço MAC.


Metacaracteres

  • . - Corresponde a qualquer caractere exceto nova linha (\n).

    Exemplo: a.b corresponde a acb, a9b, etc., mas não a ab.

  • ^ - Corresponde ao início de uma string.

    Exemplo: ^Hello corresponde a "Hello world" mas não a "Say Hello".

  • $ - Corresponde ao final de uma string ou imediatamente antes da nova linha no final.

    Exemplo: world$ corresponde a "Hello world" mas não a "world peace".

  • | - Funciona como operador lógico OU.

    Exemplo: cat|dog corresponde a "cat" ou "dog".


Classes de Caracteres

  • [abc] - Corresponde a qualquer um de a, b ou c.

    Exemplo: gr[ae]y corresponde a "gray" e "grey".

  • [^abc] - Nega o conjunto. Corresponde a qualquer caractere exceto a, b ou c.

    Exemplo: [^0-9] corresponde a qualquer não-dígito.

  • [a-zA-Z] - Corresponde a qualquer caractere alfabético.

    Exemplo: [A-Z] corresponde apenas a letras maiúsculas.


Classes de Caracteres Predefinidas

  • \d : Corresponde a qualquer dígito; equivalente a [0-9].

  • \D : Corresponde a qualquer não-dígito.

  • \s : Corresponde a qualquer espaço em branco: espaço, tabulação, nova linha, etc.

  • \S : Corresponde a qualquer caractere que não seja espaço em branco.

  • \w : Corresponde a qualquer caractere de palavra: [a-zA-Z0-9_].

  • \W : Corresponde a qualquer caractere não considerado de palavra.


Quantificadores

  • * - Corresponde a 0 ou mais repetições do padrão anterior.

    Exemplo: ab* corresponde a "a", "ab", "abb", "abbb"...

  • + - Corresponde a 1 ou mais ocorrências.

    Exemplo: ab+ corresponde a "ab", "abb", "abbb"... mas não a "a".

  • ? - Corresponde a 0 ou 1 ocorrência, tornando-a opcional.

    Exemplo: ab? corresponde a "a" ou "ab".

  • {n} - Exatamente n ocorrências.

    Exemplo: a{3} corresponde a "aaa".

  • {n,} - Pelo menos n ocorrências.

    Exemplo: a{2,} corresponde a "aa", "aaa", "aaaa"...

  • {n,m} - Entre n e m ocorrências.

    Exemplo: a{2,4} corresponde a "aa", "aaa" ou "aaaa".

Grupos

  • (abc) : Grupo de captura que corresponde a "abc" e o armazena.

    Exemplo: (ha)+ corresponde a "ha", "hahaha", etc.

  • (?:abc) : Grupo sem captura; agrupa sem salvar.

    Útil ao aplicar quantificadores ou alternâncias sem referências retroativas.

Por Que Grupos São Importantes?

O agrupamento com parênteses serve a mais do que simplesmente combinar padrões: ele permite extrair e reutilizar partes específicas da correspondência, conhecidas como grupos de captura. Isso é especialmente útil para:

  • Extrair pares chave-valor de texto estruturado

  • Analisar datas, horários ou medidas de logs ou formulários

  • Extrair partes de uma URL, endereço de e-mail ou nome de arquivo

Lookahead e Lookbehind

Lookahead e lookbehind fazem parte das chamadas asserções de largura zero em expressões regulares. Elas permitem combinar conteúdo com base no que vem antes ou depois, sem incluir esses caracteres vizinhos na correspondência em si.

  • (?=abc) : Lookahead positivo; corresponde se abc vier a seguir.

    Exemplo: \d(?=px) corresponde a um dígito seguido de "px".

  • (?!abc) : Lookahead negativo; corresponde se abc não vier a seguir.

    Exemplo: \d(?!px) corresponde a dígitos não seguidos de "px".

  • (?<=abc) : Lookbehind positivo; corresponde se precedido por abc.

    Exemplo: (?<=@)\w+ corresponde ao texto após "@" em um e-mail.

  • (?<!abc) : Lookbehind negativo; corresponde se não precedido por abc.

Âncoras e Fronteiras

  • \b : Fronteira de palavra (entre \w e \W).

    Exemplo: \bcat\b corresponde a "cat" em "the cat sat" mas não em "catering".

  • \B : Fronteira de não-palavra.

  • \A : Corresponde ao início da string.

  • \Z : Corresponde ao final da string ou antes da nova linha no final.


Flags

Você pode passar flags para funções como re.search() ou usá-las inline com (?i), (?m), etc.

  • re.IGNORECASE / re.I : Correspondência sem diferenciação de maiúsculas e minúsculas.

  • re.MULTILINE / re.M : ^ e $ correspondem ao início/fim de cada linha.

  • re.DOTALL / re.S : O ponto . corresponde a qualquer caractere, incluindo nova linha.

  • re.VERBOSE / re.X : Permite dividir padrões com espaços em branco e comentários.

  • re.ASCII / re.A : Faz com que \w, \b, \d, \s, etc. correspondam apenas a caracteres ASCII.


Exemplos de Expressões Regulares em Python


Exemplo 1: Validação de E-mail
import re
email_pattern = re.compile(r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$')
email = "user@example.com"
print("Email Valid:", bool(email_pattern.match(email)))

Exemplo 2: Verificação de Força de Senha
password_pattern = re.compile(r'^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$')
password = "Aa123456!"
print("Password Strong:", bool(password_pattern.match(password)))

Exemplo 3: Extração de Palavras de uma String
text = "Regex is #1 at pattern matching!"
word_pattern = re.compile(r'\b\w+\b')
for match in word_pattern.finditer(text):
    print("Found:", match.group())


Como Funciona

  1. Digite seu padrão regex e a string de teste de exemplo.

  2. Veja as correspondências instantâneas e grupos de captura abaixo.

  3. Copie, edite e refine seu padrão até que esteja perfeito.

  4. Use dados de outras ferramentas para simular casos do mundo real.


Dicas Pro para Escrever Regex Eficaz em Python

  • Compile regex usando re.compile() para melhor desempenho em loops.

  • Use grupos nomeados ((?P<nome>...)) para código mais limpo e legível.

  • Use re.VERBOSE para regex grandes, permitindo comentários e espaçamento.

  • Use re.findall() para retornar todas as correspondências como lista.

  • Evite regex para dados estruturados ou profundamente aninhados; use parsers.

  • Experimente com o Testador de Regex Python do Qodex para casos extremos e dados ao vivo.

Explore Mais no Qodex

Frequently Asked Questions

Como escrevo regex em Python?

Use o módulo re com funções como re.search(), re.match() ou re.findall().

Como deixo o regex sem diferenciar maiúsculas e minúsculas em Python?

Use a flag re.IGNORECASE ou re.I.

Como valido um e-mail com regex em Python?

Use re.fullmatch() com um padrão de e-mail padrão ou experimente no nosso Validador de E-mail.

Qual a diferença entre match() e search()?

match() verifica desde o início da string; search() verifica em qualquer posição.

Onde posso testar meus padrões de regex Python?

Use o Testador de Regex Python do Qodex para feedback instantâneo e resultados em tempo real.

Como escapar caracteres especiais em padrões regex?

Use uma barra invertida antes do caractere especial. Por exemplo, use \\. para corresponder a um ponto literal em vez de "qualquer caractere".

Teste suas APIs hoje!

Escreva em linguagem natural e o Qodex converte em testes seguros e prontos para execução.