0Pricing
Python Academy · Lección

Grupos y capturas con nombre

Extraiga datos mediante grupos de captura y la sintaxis de grupos con nombre.

Grupos y capturas con nombre es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.

Introducción

Los grupos de captura extraen partes específicas de una coincidencia. Los grupos con nombre hacen que los datos extraídos sean autoexplicativos.

Grupo de captura básico

Los paréntesis () crean un grupo de captura. m.group(1) devuelve la coincidencia del primer 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() devuelve todos los grupos de captura como una tupla.
import re
m = re.search(r'(\w+)@(\w+)\.(\w+)', 'user@example.com')
if m: print(m.groups())

Grupos con nombre

(?Ppattern) crea un grupo con nombre. Acceda a él con m.group('name') o 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 sin captura

(?:pattern) agrupa sin capturar. Es útil cuando necesita agrupar para aplicar cuantificadores, pero no necesita la coincidencia.
import re
print(re.findall(r'(?:cat|dog)s?', 'cats dogs cat dog'))

Referencias inversas

\1 dentro de un patrón hace referencia a lo que coincidió con el grupo 1. Es útil para encontrar palabras 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 con grupos

Cuando el patrón contiene grupos, findall devuelve una lista de tuplas de grupos, no las coincidencias completas.
import re
result = re.findall(r'(\w+)=(\w+)', 'x=1 y=2 z=3')
print(result)

Uso de grupos en re.sub()

En re.sub(), \1 o \g inserta los grupos capturados en la cadena de sustitución.
import re
result = re.sub(r'(\w+)\s(\w+)', r'\2 \1', 'John Smith')
print(result)

Búsqueda anticipada (?= )

(?=expr) es una búsqueda anticipada positiva: coincide con la posición en la que aparece expr, sin consumirlo.
import re
# Prices followed by USD
print(re.findall(r'\d+(?= USD)', '100 USD 200 EUR 300 USD'))

Búsqueda retrospectiva (?<= )

(?<=expr) es una búsqueda retrospectiva positiva: coincide con una posición precedida por expr, sin consumirlo.
import re
print(re.findall(r'(?<=\$)\d+', 'paid $100 and $200'))

Referencia inversa con nombre

(?P=name) en el patrón hace referencia al valor de un grupo con nombre. Es útil para encontrar etiquetas de cierre.
import re
m = re.search(r'<(?P<tag>\w+)>.*?</(?P=tag)>', '<b>hello</b>')
if m: print(m.group())

Comprobación rápida

¿Cómo accede al grupo de captura con nombre 'year' desde un objeto de coincidencia m?

Resumen

Los grupos () capturan partes. m.group(1), m.groups(), m.groupdict(). Con nombre: (?P). Sin captura: (?:). Referencias inversas: \1 o \g en las sustituciones.

Continúe

¡Excelente trabajo! Le espera la siguiente lección.

Preguntas frecuentes

¿La lección «Grupos y capturas con nombre» es gratis?

Sí — el texto completo de «Grupos y capturas con nombre» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Grupos y capturas con nombre»?

Extraiga datos mediante grupos de captura y la sintaxis de grupos con nombre. Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Python Academy?

No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Grupos y capturas con nombre»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Python Academy?

Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Fundamentos de las expresiones regulares
  2. Uso de re.match, re.search y re.findall
  3. Grupos y capturas con nombre
  4. re.sub, indicadores y patrones compilados
← Volver a Python Academy