Padrões de expressões regulares e classes de caracteres
\d, \w, \s, ., ^, $, +, *, ?, {n,m}, classes de caracteres [a-z] e negação [^...].
Padrões de expressões regulares e classes de caracteres é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.
Por que regex é importante para IA de texto
A IA de texto começa com texto bruto e desorganizado. As expressões regulares (regex) são uma linguagem compacta para encontrar e extrair padrões — números de telefone, datas, hashtags e URLs — permitindo limpar e estruturar o texto antes de fornecê-lo a um modelo.
Este curso ensina padrões, o módulo re, grupos e um fluxo de processamento real para limpeza de texto.
Caracteres literais
O padrão mais simples é o texto literal: ele corresponde exatamente àqueles caracteres. Por padrão, regex diferencia maiúsculas de minúsculas.
cat corresponde a "cat" dentro de "the cat sat", mas não a "Cat".
import re
print(re.findall("cat", "the cat sat on a cat mat"))
# ["cat", "cat"]O metacaractere ponto
O ponto . corresponde a qualquer caractere único, exceto uma quebra de linha. Ele funciona como um curinga.
c.t corresponde a "cat", "cot" e "c9t" — qualquer sequência com c, um caractere e depois t.
import re
print(re.findall("c.t", "cat cot cut c@t"))
# ["cat", "cot", "cut", "c@t"]Classes de dígitos, palavras e espaços
As classes de caracteres abreviadas abrangem grupos comuns:
\d— um dígito (0-9)\w— um caractere de palavra (letra, dígito ou sublinhado)\s— espaço em branco (espaço, tabulação ou quebra de linha)
import re
print(re.findall("\d", "a1b2c3")) # ["1", "2", "3"]
print(re.findall("\w", "a_1!")) # ["a", "_", "1"]
print(re.findall("\s", "a b\tc")) # [" ", "\t"]Classes negadas
As versões em maiúsculas negam a classe:
\D— qualquer coisa que não seja um dígito\W— qualquer coisa que não seja um caractere de palavra\S— qualquer coisa que não seja espaço em branco
import re
print(re.findall("\D", "a1b2")) # ["a", "b"]
print(re.findall("\S", "a b c")) # ["a", "b", "c"]Conjuntos de caracteres personalizados com [ ]
Os colchetes definem seu próprio conjunto: correspondem a qualquer caractere listado dentro deles. Os intervalos usam um hífen.
[aeiou]— qualquer vogal[A-Za-z]— qualquer letra[0-9]— qualquer dígito (igual a\d)
import re
print(re.findall("[A-Za-z]", "ab12CD")) # letters only
print(re.findall("[aeiou]", "hello")) # ["e", "o"]Conjuntos negados com [^ ]
Um circunflexo dentro dos colchetes nega o conjunto: corresponde a qualquer caractere que não esteja listado.
[^abc] corresponde a qualquer coisa, exceto a, b ou c. (Um circunflexo fora dos colchetes é uma âncora, apresentada a seguir.)
import re
print(re.findall("[^aeiou ]", "hello world"))
# consonants: ["h", "l", "l", "w", "r", "l", "d"]Âncoras: ^ e $
As âncoras correspondem a posições, não a caracteres:
^— início da cadeia de caracteres (ou linha)$— fim da cadeia de caracteres (ou linha)
^Hello só corresponde se o texto começar com "Hello".
import re
print(bool(re.search("^Hello", "Hello world"))) # True
print(bool(re.search("world$", "Hello world"))) # True
print(bool(re.search("^world", "Hello world"))) # FalseQuantificadores: + * ?
Os quantificadores indicam quantas vezes o item anterior se repete:
+— uma ou mais vezes*— zero ou mais vezes?— zero ou uma vez (opcional)
import re
print(re.findall("\d+", "abc 123 de 45")) # ["123", "45"]
print(re.findall("ab*", "a ab abb")) # ["a", "ab", "abb"]
print(re.findall("colou?r", "color colour")) # both matchQuantificador de intervalo {n,m}
As chaves indicam uma quantidade exata ou um intervalo:
{3}— exatamente 3{2,4}— entre 2 e 4{2,}— 2 ou mais
É ideal para itens de comprimento fixo, como códigos ZIP ou segmentos de números de telefone.
import re
print(re.findall("\d{3}", "12 345 6789")) # ["345", "678"]
print(re.findall("\d{2,4}", "1 22 3333 55555"))Combinando as partes
Os padrões reais combinam classes, conjuntos, âncoras e quantificadores. Este corresponde a um número de telefone US simples, como 555-123-4567:
\d{3}-\d{3}-\d{4} — três dígitos, hífen, três dígitos, hífen e quatro dígitos.
import re
text = "Call 555-123-4567 or 999-888-7777"
print(re.findall("\d{3}-\d{3}-\d{4}", text))
# ["555-123-4567", "999-888-7777"]Verificação rápida: quantificadores
Você quer corresponder a um ou mais dígitos consecutivos.
Recapitulação: padrões e classes de caracteres
Agora você conhece os fundamentos de regex:
- Literais e o curinga
. - Classes
\d \w \se suas negações\D \W \S - Conjuntos personalizados
[A-Za-z]e conjuntos negados[^abc] - Âncoras
^e$ - Quantificadores
+ * ?e intervalos{n,m}
Próximo: as funções do módulo Python re.
Perguntas Frequentes
A aula “Padrões de expressões regulares e classes de caracteres” é grátis?
Sim — o texto completo de “Padrões de expressões regulares e classes de caracteres” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.
O que vou aprender em “Padrões de expressões regulares e classes de caracteres”?
\d, \w, \s, ., ^, $, +, *, ?, {n,m}, classes de caracteres [a-z] e negação [^...]. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Padrões de expressões regulares e classes de caracteres”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn AI with Python?
Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Padrões de expressões regulares e classes de caracteres
- Módulo re: pesquisa, correspondência, localização e substituição
- Grupos de captura e grupos nomeados
- Limpeza de texto para IA com expressões regulares