Leer AI met Python · Les

Capturing groups en benoemde groepen

Haakjes voor capturing, benoemde groepen met (?P ...), re.fullmatch() en lookahead/lookbehind.

Les 3 van 413 stappen

Capturing groups en benoemde groepen is een gratis Leer AI met Python-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Leer AI met Python. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Leer AI met Python bevat in totaal 4 lessen.

Waarom groepen?

Met groepen kun je delen van een treffer isoleren, zodat je precies het gewenste onderdeel kunt extraheren — het netnummer uit een telefoonnummer, het jaar uit een datum of de gebruikersnaam uit een e-mailadres.

Deze les behandelt vangende, benoemde en niet-vangende groepen en contextcontroles.

Vangende groepen met ( )

Wikkel een deel van een patroon tussen haakjes om het te vangen. De volledige treffer en elke groep worden toegankelijk via het Match-object.

import re

m = re.search("(\d{4})-(\d{2})-(\d{2})", "Date: 2026-05-29")
print(m.group())    # "2026-05-29" (whole match)
print(m.group(1))   # "2026"
print(m.group(2))   # "05"

match.group, groups, groupdict

Handige toegangsmethoden:

  • m.group(0) — de volledige treffer
  • m.group(n) — de n-de vastlegging
  • m.groups() — een tupel met alle vastleggingen
import re

m = re.search("(\d{4})-(\d{2})-(\d{2})", "2026-05-29")
print(m.groups())   # ("2026", "05", "29")
year, month, day = m.groups()

Benoemde groepen met (?P<name>...)

Het nummeren van groepen wordt snel kwetsbaar. Met benoemde groepen gebruik je (?P<name>...), zodat je met een betekenisvolle naam naar vastleggingen verwijst.

import re

m = re.search("(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})", "2026-05-29")
print(m.group("year"))   # "2026"
print(m.group("month"))  # "05"

groupdict voor gestructureerde uitvoer

m.groupdict() retourneert alle benoemde groepen als een woordenboek — ideaal om overeenkomende tekst in gestructureerde gegevensrecords om te zetten.

import re

m = re.search("(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})", "2026-05-29")
print(m.groupdict())
# {"year": "2026", "month": "05", "day": "29"}

Niet-vangende groepen (?:...)

Soms heb je haakjes alleen nodig om te groeperen (bijvoorbeeld om een kwantor toe te passen), maar wil je NIET vastleggen. Gebruik dan (?:...).

Zo blijft de nummering van je groepen overzichtelijk.

import re

# Group "ab" so + applies, but do not capture it
m = re.search("(?:ab)+(\d+)", "ababab42")
print(m.group(1))   # "42" -> group 1 is the digits, not "ab"

Terugverwijzingen

Een terugverwijzing \1 komt overeen met dezelfde tekst die een groep eerder heeft vastgelegd. Handig om herhaalde woorden te vinden.

import re

# Find a word repeated twice in a row
print(re.findall("(\w+) \1", "the the cat cat sat"))
# ["the", "cat"]

Lookahead (?=...)

Een positieve lookahead (?=...) controleert wat er moet volgen, zonder dat te verbruiken. De gecontroleerde tekst maakt geen deel uit van de treffer.

Hier vinden we een getal alleen als het wordt gevolgd door "px".

import re

print(re.findall("\d+(?=px)", "10px 20em 30px"))
# ["10", "30"]  -> "20" skipped (not followed by px)

Negatieve lookahead (?!...)

Een negatieve lookahead (?!...) controleert wat er niet mag volgen. We vinden het getal alleen als het niet wordt gevolgd door "px".

import re

print(re.findall("\d+(?!px)", "10px 20em 30px"))
# matches numbers not followed directly by px

Lookbehind (?<=...) en (?<!...)

Lookbehind controleert wat er vóór de treffer staat zonder dat te verbruiken:

  • (?<=...) positief — moet worden voorafgegaan door
  • (?<!...) negatief — mag niet worden voorafgegaan door

Hier halen we bedragen op die worden voorafgegaan door een dollarteken, zonder het teken vast te leggen.

import re

print(re.findall("(?<=\$)\d+", "price $50 and 60 units"))
# ["50"]  -> only the amount after $

Groepen en lookarounds combineren

In echte extractors combineer je deze hulpmiddelen. Dit patroon haalt een benoemde prijs op die moet worden voorafgegaan door een valutasymbool en gevolgd door een decimaal deel:

import re

text = "Total: $1299.99 paid"
m = re.search("(?<=\$)(?P<amount>\d+)\.(?P<cents>\d{2})", text)
print(m.group("amount"), m.group("cents"))   # 1299 99

Korte controle: benoemde groepen

Je wilt treffers ophalen met een duidelijke naam zoals "year" in plaats van een nummer.

Terugblik: groepen en lookarounds

Je kunt nu een precieze structuur uit tekst halen:

  • ( ) vastleggende groepen met m.group(n) en m.groups()
  • (?P<name>...) benoemde groepen met m.groupdict()
  • (?:...) niet-vastleggende groepen voor overzichtelijke groepering
  • Terugverwijzingen met \1 voor herhalingen
  • Lookahead (?=)/(?!) en lookbehind (?<=)/(?<!)

Volgende onderwerp: alles combineren om tekst voor AI op te schonen.

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
53
Lessen
225

Veelgestelde vragen

Is de les “Capturing groups en benoemde groepen” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Leer AI met Python, waaronder “Capturing groups en benoemde groepen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Leer AI met Python bevat in totaal 4 lessen.

Wat leer ik in “Capturing groups en benoemde groepen”?

Haakjes voor capturing, benoemde groepen met (?P ...), re.fullmatch() en lookahead/lookbehind. Je oefent met Leer AI met Python 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 Leer AI met Python te beginnen?

Ervaring vooraf is niet nodig. Leer AI met Python 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 “Capturing groups en benoemde groepen”?

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 Leer AI met Python?

Ja. Elke les over Leer AI met Python 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. Regex-patronen en tekenklassen
  2. De module re: search, match, findall, sub
  3. Capturing groups en benoemde groepen
  4. Tekst opschonen voor AI met regex
← Terug naar Leer AI met Python