Python Academy · Les

Groepen en benoemde captures

Extraheer gegevens met capturing groups en de syntaxis voor benoemde groepen.

Les 3 van 414 stappen

Groepen en benoemde captures is een gratis Python Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Python Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Python Academy bevat in totaal 4 lessen.

Inleiding

Vastleggroepen halen specifieke delen uit een overeenkomst. Met benoemde groepen wordt de geëxtraheerde informatie vanzelfsprekend gedocumenteerd.

Basale vastleggroep

Haakjes () maken een vastleggroep. m.group(1) retourneert de overeenkomst van de eerste groep.
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() retourneert alle vastleggroepen als tuple.
import re
m = re.search(r'(\w+)@(\w+)\.(\w+)', 'user@example.com')
if m: print(m.groups())

Benoemde groepen

(?Ppattern) maakt een benoemde groep. Je krijgt er toegang toe met m.group('name') of 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())

Groepen zonder vastlegging

(?:pattern) groepeert zonder vastlegging. Dit is handig wanneer je moet groeperen voor kwantificeerders, maar de overeenkomst niet nodig hebt.
import re
print(re.findall(r'(?:cat|dog)s?', 'cats dogs cat dog'))

Terugverwijzingen

\1 in een patroon verwijst naar wat groep 1 heeft gevonden. Dit is handig om herhaalde woorden te vinden.
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 met groepen

Wanneer het patroon groepen bevat, retourneert findall een lijst met tuples van groepen, niet met volledige overeenkomsten.
import re
result = re.findall(r'(\w+)=(\w+)', 'x=1 y=2 z=3')
print(result)

Groepen gebruiken in re.sub()

In re.sub() voegt \1 of \g vastgelegde groepen in de vervangende tekenreeks in.
import re
result = re.sub(r'(\w+)\s(\w+)', r'\2 \1', 'John Smith')
print(result)

Vooruitblik (?= )

(?=expr) is een positieve vooruitblik — komt overeen met een positie waar expr op volgt, zonder tekens te verbruiken.
import re
# Prices followed by USD
print(re.findall(r'\d+(?= USD)', '100 USD 200 EUR 300 USD'))

Terugblik (?<= )

(?<=expr) is een positieve terugblik — komt overeen met een positie die door expr wordt voorafgegaan, zonder tekens te verbruiken.
import re
print(re.findall(r'(?<=\$)\d+', 'paid $100 and $200'))

Benoemde terugverwijzing

(?P=name) in het patroon verwijst naar de waarde van een benoemde groep. Dit is handig om afsluitende tags te vinden.
import re
m = re.search(r'<(?P<tag>\w+)>.*?</(?P=tag)>', '<b>hello</b>')
if m: print(m.group())

Korte controle

Hoe krijg je vanuit een Match-object m toegang tot een benoemde vastleggroep met de naam 'year'?

Samenvatting

Groepen () leggen delen vast. m.group(1), m.groups(), m.groupdict(). Benoemd: (?P). Zonder vastlegging: (?:). Terugverwijzingen: \1 of \g in vervangingen.

Ga door

Goed gedaan! De volgende les staat voor je klaar.
Gratis beginnen

Leer Python met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
76
Lessen
320

Veelgestelde vragen

Is de les “Groepen en benoemde captures” gratis?

Ja — de volledige tekst van “Groepen en benoemde captures” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Python Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Python Academy bevat in totaal 4 lessen.

Wat leer ik in “Groepen en benoemde captures”?

Extraheer gegevens met capturing groups en de syntaxis voor benoemde groepen. Je oefent met Python Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Python Academy te beginnen?

Ervaring vooraf is niet nodig. Python Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Groepen en benoemde captures”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Python Academy?

Ja. Elke les over Python Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Basisprincipes van reguliere expressies
  2. re.match, re.search en re.findall gebruiken
  3. Groepen en benoemde captures
  4. re.sub, flags en gecompileerde patronen
← Terug naar Python Academy