# encoding: utf-8 #Import the regular expression module import re ## Se https://docs.python.org/3/howto/regex.html for flere eksempler og beskrivelser av de forskjellige re metodene. ## Se ogs? forelesningsnotater. Det er flere eksempler som dere kan kopiere og teste her. ##1. Metoden match(): Determine if the RE matches at the beginning of the string. p = re.compile('ab*') ##Compilere en pattern (m?nster) som vi har lyst ? finne i en streng print("Streng 'IN1140': ") print(p.match("IN1140")) print('---') print("Streng 'abb': ") print('---') print("Streng 'ab': ") print(p.match("ab")) print('---') print("Streng 'bab': ") print(p.match("bab")) print('---') p2 = re.compile('(\w*[???]*\w*)*') ##Compilere en pattern (m?nster) som vi har lyst ? finne i en streng print("Streng 'IN1140': ") print(p2.match("IN1140")) print('---') print("Streng 'Spr?kteknologi': ") print(p2.match("Spr?kteknologi")) print('---') print("Streng 'spr?kteknologi': ") print(p2.match("spr?kteknologi")) print('---') print("Streng 'computer science': ") print(p2.match("computer science")) print('---') ## For ? kunne se hva som egentlig ble matchet, alts? strengen, kan du bruke metodene group(), start(), end(), og span() m = p.match("abb") print("Streng 'abb': ") print(m.group()) print(m.start()) print(m.end()) print(m.span()) print('---') m2 = p.match("ab") print("Streng 'ab': ") print(m2.group()) print(m2.start()) print(m2.end()) print(m2.span()) print('---') ## 2. Metoden findall(): Find all substrings where the RE matches, and returns them as a list. p3 = re.compile('\d+') ##Compilere en pattern (m?nster) som vi har lyst ? finne i en streng print("Streng 'IN1140': ") print(p3.findall("IN1140")) print('---') print("Streng '12 drummers drumming, 11 pipers piping, 10 lords a-leaping': ") print(p3.findall("12 drummers drumming, 11 pipers piping, 10 lords a-leaping")) print('---') ## En annen m?te ? gj?re dette p?, om du feks bare skal bruke et m?nster en gang, og ikke vil compilere en pattern m = re.findall('\w', '12 drummers drumming, 11 pipers piping, 10 lords a-leaping') print(m) print('---') m = re.findall('\w*', '12 drummers drumming, 11 pipers piping, 10 lords a-leaping') print(m) print('---') m = re.findall('\w+', '12 drummers drumming, 11 pipers piping, 10 lords a-leaping') print(m) print('---') m = re.findall('\W', '12 drummers drumming, 11 pipers piping, 10 lords a-leaping') print(m) print('---') m = re.findall('\d', '12 drummers drumming, 11 pipers piping, 10 lords a-leaping') print(m) print('---') m = re.findall('\d+', '12 drummers drumming, 11 pipers piping, 10 lords a-leaping') print(m) print('---') m = re.findall('\D', '12 drummers drumming, 11 pipers piping, 10 lords a-leaping') print(m) print('---') m = re.findall('\D+', '12 drummers drumming, 11 pipers piping, 10 lords a-leaping') print(m) print('---')