Ga naar hoofdinhoud

Strings opschonen met reguliere expressies

Deze tutorial gebruikt cursusmateriaal uit DataCamp's Cleaning Data in Python en laat je strings opschonen met reguliere expressies.
Bijgewerkt 2 okt 2026  · 4 min lezen

Verken met AI

ChatGPTClaudePerplexity

Als je onze gratis Intro to R-cursus wilt volgen, hier is de link.

Numerieke waarden uit strings extraheren

Getallen uit strings halen is een veelvoorkomende taak, vooral wanneer je werkt met ongestructureerde data of logbestanden.

Stel, je hebt de volgende string: 'the recipe calls for 6 strawberries and 2 bananas'.

Het is handig om de 6 en de 2 uit deze string te halen en op te slaan voor later gebruik, bijvoorbeeld om de verhouding aardbeien tot bananen te vergelijken.

Als je een reguliere expressie gebruikt om meerdere getallen te extraheren (of nauwkeuriger: meerdere patroonmatches), kun je de functie re.findall() gebruiken. Dan besprak dit niet in de video, maar het is eenvoudig te gebruiken: je geeft een patroon en een string door aan re.findall(), en het retourneert een lijst met de matches.

Instructies

  • Importeer re.
  • Schrijf een patroon dat alle getallen in de volgende string vindt: 'the recipe calls for 10 strawberries and 1 banana'. Doe dit als volgt:
    • Gebruik de functie re.findall() en geef twee argumenten mee: het patroon, gevolgd door de string.
    • \d is het patroon dat cijfers vindt. Zet hierachter een + zodat het vorige element één of meer keer wordt gematcht. Dit zorgt ervoor dat 10 als één getal wordt gezien en niet als 1 en 0.
  • Print de matches om te bevestigen dat je reguliere expressie de waarden 10 en 1 heeft gevonden.
# Import the regular expression module ____ # Find the numeric values: matches matches = re.findall('____', '____') # Print the matches print(____) # Import the regular expression module import re # Find the numeric values: matches matches = re.findall('\d+', 'the recipe calls for 10 strawberries and 1 banana') # Print the matches print(matches) Ex().test_import('re') Ex().test_correct(test_object('matches'), test_function('re.findall')) Ex().test_function('print') success_msg('Excellent work - your regular expression successfully extracted the numeric values 10 and 1 from the string!')
  • Gebruik het commando import x om de module x te importeren.
  • Het eerste argument voor re.findall() moet \d+ zijn, en het tweede argument moet de string zijn: 'the recipe calls for 10 strawberries and 1 banana'.
  • Gebruik de meegeleverde functie print() om matches te printen.

Als dat duidelijk is, ga dan door naar de volgende oefening! Zo niet, bekijk dan deze overzichtsvideo.

Overzichtsvideo over het gebruik van reguliere expressies om strings op te schonen in Python

Patroonherkenning

In deze oefening blijf je je vaardigheden met reguliere expressies oefenen. Voor elke gegeven string is het jouw taak om het juiste patroon te schrijven om deze te matchen.

Instructies

  • Schrijf patronen om te matchen:
    • Een telefoonnummer in het formaat xxx-xxx-xxxx. Dit heb je al gedaan in een eerdere oefening.
    • Een string met het formaat: een dollarteken, een willekeurig aantal cijfers, een decimaalteken, 2 cijfers.
      • Gebruik \$ om het dollarteken te matchen, \d* om een willekeurig aantal cijfers te matchen, \. om het decimaalteken te matchen, en \d{x} om x aantal cijfers te matchen.
  • Een hoofdletter, gevolgd door een willekeurig aantal alfanumerieke tekens.
    • Gebruik [A-Z] om elke hoofdletter te matchen gevolgd door \w* om een willekeurig aantal alfanumerieke tekens te matchen.
import re # Write the first pattern pattern1 = bool(re.match(pattern='____', string='123-456-7890')) print(pattern1) # Write the second pattern pattern2 = bool(re.match(pattern='____', string='$123.45')) print(pattern2) # Write the third pattern pattern3 = bool(re.match(pattern='____', string='Australia')) print(pattern3) # Write the first pattern pattern1 = bool(re.match(pattern='\d{3}-\d{3}-\d{4}', string='123-456-7890')) print(pattern1) # Write the second pattern pattern2 = bool(re.match(pattern='\$\d*\.\d{2}', string='$123.45')) print(pattern2) # Write the third pattern pattern3 = bool(re.match(pattern='[A-Z]\w*', string='Australia')) print(pattern3) Ex().test_correct(test_object('pattern1'), test_function('re.match', index=1)) Ex().test_function('print', index=1) Ex().test_correct(test_object('pattern2'), test_function('re.match', index=2)) Ex().test_function('print', index=2) Ex().test_correct(test_object('pattern3'), test_function('re.match', index=3)) Ex().test_function('print', index=3) success_msg("Great work! You're mastering the fundamentals of writing regular expressions!")
  • Er zijn drie componenten in het eerste patroon dat je reguliere expressie moet matchen: xxx, xxx en xxxx. De eerste twee worden gematcht door \d{3}, terwijl de laatste wordt gematcht door \d{4}. Elk van deze componenten moet worden gescheiden door een -.

Als je meer uit deze cursus wilt halen, hier is de link.

Bekijk DataCamp's Python String Tutorial.

Onderwerpen
Python
Data Science

Leer meer over Python

Cursus

Regular expressions in Python

4 uur
50.1K
Leer stringmanipulatie en word een meester in het gebruik van reguliere expressies.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken