0Pricing
Python Academy · Aula

Grupos e capturas nomeadas

Extraia dados com grupos de captura e a sintaxe de grupos nomeados.

Grupos e capturas nomeadas é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 3 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 Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.

Introdução

Os grupos de captura extraem partes específicas de uma correspondência. Os grupos nomeados tornam os dados extraídos autoexplicativos.

Grupo de captura básico

Os parênteses () criam um grupo de captura. m.group(1) retorna a correspondência do primeiro grupo.
import re
m = re.search(r'(\d{4})-(\d{2})-(\d{2})', '2024-01-15')
if m: print(m.group(1), m.group(2), m.group(3))

m.groups()

m.groups() retorna todos os grupos de captura como uma tupla.
import re
m = re.search(r'(\w+)@(\w+)\.(\w+)', 'user@example.com')
if m: print(m.groups())

Grupos nomeados

(?Ppattern) cria um grupo nomeado. Acesse-o com m.group('name') ou m.groupdict().
import re
m = re.search(
    r'(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})',
    '2024-01-15'
)
if m: print(m.groupdict())

Grupos sem captura

(?:pattern) agrupa sem capturar. É útil quando você precisa agrupar para usar quantificadores, mas não precisa da correspondência.
import re
print(re.findall(r'(?:cat|dog)s?', 'cats dogs cat dog'))

Referências retroativas

\1 dentro de um padrão refere-se ao que o grupo 1 correspondeu. É útil para encontrar palavras repetidas.
import re
# Match repeated words
m = re.search(r'\b(\w+)\s+\1\b', 'the the quick brown', re.IGNORECASE)
if m: print('repeated:', m.group())

findall com grupos

Quando o padrão contém grupos, findall retorna uma lista de tuplas de grupos, não as correspondências completas.
import re
result = re.findall(r'(\w+)=(\w+)', 'x=1 y=2 z=3')
print(result)

Usando grupos em re.sub()

Em re.sub(), \1 ou \g insere os grupos capturados na string de substituição.
import re
result = re.sub(r'(\w+)\s(\w+)', r'\2 \1', 'John Smith')
print(result)

Antevisão (?= )

(?=expr) é uma antevisão positiva — corresponde à posição em que expr aparece em seguida, sem consumi-la.
import re
# Prices followed by USD
print(re.findall(r'\d+(?= USD)', '100 USD 200 EUR 300 USD'))

Retrospecção (?<= )

(?<=expr) é uma retrospecção positiva — corresponde à posição precedida por expr, sem consumi-la.
import re
print(re.findall(r'(?<=\$)\d+', 'paid $100 and $200'))

Referência retroativa nomeada

(?P=name) no padrão referencia o valor de um grupo nomeado. É útil para corresponder a tags de fechamento.
import re
m = re.search(r'<(?P<tag>\w+)>.*?</(?P=tag)>', '<b>hello</b>')
if m: print(m.group())

Verificação rápida

Como você acessa um grupo de captura nomeado 'year' a partir de um objeto de correspondência m?

Recapitulação

Os grupos () capturam partes. m.group(1), m.groups(), m.groupdict(). Nomeado: (?P). Sem captura: (?:). Referências retroativas: \1 ou \g em substituições.

Continue

Muito bem! A próxima lição espera por você.

Perguntas Frequentes

A aula “Grupos e capturas nomeadas” é grátis?

Sim — o texto completo de “Grupos e capturas nomeadas” é 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 Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.

O que vou aprender em “Grupos e capturas nomeadas”?

Extraia dados com grupos de captura e a sintaxe de grupos nomeados. Você pratica Python Academy 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 Python Academy?

Nenhuma experiência prévia é necessária. Python Academy 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 3 de 4.

Quanto tempo leva a aula “Grupos e capturas nomeadas”?

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 Python Academy?

Sim. Cada aula de Python Academy 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. Fundamentos de expressões regulares
  2. Uso de re.match, re.search, re.findall
  3. Grupos e capturas nomeadas
  4. re.sub, sinalizadores e padrões compilados
← Voltar para Python Academy