### Regul?re uttrykk # F?rst m? vi importere pakken for regul?re uttrykk, som heter re # Dette gj?r vi ?verst i fila v?r import re # Vi har n? tilgang p? en rekke nye metoder! tekst = "Kari Nordmann studerer p? IFI, Institutt for Informatikk, og er der hver uke fra mandag til fredag. Spesielt lenge er hun der p? mandag fordi hun har en oblig den kvelden. Bygget ligger i Gastaudall¨¦en 23B." # Henter alle ord som begynner med en stor bokstav og har minst en: regul?rt_uttrykk = r"[A-Z][a-z]+" # r'en foran strengen betyr at vi lagrer strengen som en "r?streng" (raw string). # Dere kan unders?ke disse selv hvis dere vil, men det anbefales ? gj?re det s?nn for regul?re uttrykk. # Med re.findall() kan vi finne matcher i teksten v?r liste_med_matcher = re.findall(regul?rt_uttrykk, tekst) print("Liste med matcher:", liste_med_matcher) # re.split() fungerer ganske likt den vanlige .split(), men her kan vi bruke et regul?rt uttrykk i stedet for en vanlig streng splitta_tekst = re.split(regul?rt_uttrykk, tekst) print("Liste splitta p? matcher:", splitta_tekst) # Med re.sub() bytter vi alle treff p? det regul?re uttrykket med den spesififiserte teksten streng_med_bytte = re.sub(regul?rt_uttrykk, "BYTTE", tekst) print("Streng med matcher bytta ut:", streng_med_bytte) # N? 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 ? bruke begge versjoner for ? se forskjellen! """ ukedager = r"(?:man|fre)(?:dag)" ukedager_tokens = re.findall(ukedager, tekst) print(ukedager_tokens) # 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("澳门葡京手机版app下载ne vi fant:", adresse_tokens)