import re tekst = "Kari Nordmann studerer p? IFI, Institutt for Informatikk, og er der hver uke fra mandag til fredag. Byggets adresse er Gastaudall¨¦en 23B." # vi kan ekstrahere egennavn fra teksten slik: egennavn = r"[A-Z][a-z]+\s[A-Z][a-z]+" egennavn_tokens = re.findall(egennavn, tekst) print(egennavn_tokens) # s?, vil vi ekstrahere ukedagene i teksten: ukedager = r"(man|fre)(dag)" """siden vi bruker flere grupper, f?r vi litt rare resultater, der hver match er fordelt i 'tupler'. For ? unng? dette, endrer vi uttrykket til ? bli en 'non-capturing group' med '?:' i hver gruppe. Pr?v ? bruk begge versjoner for ? se forskjellen! NB: dette er ikke pensum, men kan gj?re det litt lettere for en selv.""" ukedager = r"(?:man|fre)(?:dag)" ukedager_tokens = re.findall(ukedager, tekst) """ Hvis vi printer ukedager_tokens her, vil matchene v?re sl?tt sammen, slik vi vil ha dem. En metode som vil gj?re det samme, er .join(), som vi allerede har l?rt. Da trenger vi ikke ? bruke non-capturing groups, men vi f?r noen flere kodelinjer:""" for i in ukedager_tokens: print("".join(i)) # Til slutt, vil vi ekstrahere adressen i teksten: adresse = r"[A-Z][a-z¨¦]+\s[0-9]{2}[A-Z]" adresse_tokens = re.findall(adresse, tekst) print(adresse_tokens) # TIPS: Hvis du vil teste om et uttrykk fungerer uten ? bruke python- bruk 'regex101.com'! Husk ? velge 'python' p? venstresiden.