0Pricing
Learn AI with Python · Aula

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")))  # False

Quantificadores: + * ?

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 match

Quantificador 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 \s e 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

  1. Padrões de expressões regulares e classes de caracteres
  2. Módulo re: pesquisa, correspondência, localização e substituição
  3. Grupos de captura e grupos nomeados
  4. Limpeza de texto para IA com expressões regulares
← Voltar para Learn AI with Python