# Importera Python modulen för reguljära uttryck, se https://docs.python.org/3/library/re.html # för ytterligare information och instruktioner om modulen. import re # Här är en textsträng som vi använder i uppgiften. text = 'Här är en textsträng som vi använder i uppgiften. Här finns \ det STORA och små bokstäver! Kogvetarna får ställa alla frågor? Så de lär sig \ reguljära uttryck den här veckan...' # Grupper med finditer(). def group_1(): """ Example of how to use the objects which is returned by finditer(). """ # 1. Kompilera ett uttryck som hittar alla ord som innehåller bokstaven s. # 2. Använd finditer och skriv ut alla matchande ord. regexp = re.compile(r'Här skriver vi ett reguljärt uttryck', re.U) matchlist = regexp.finditer(text) for match in matchlist: first_match = match.group(0) print('Första matchen är', first_match) # Med grupperingar med iter med flera grupper. def group_2(): """ Example of how to use the objects which is returned by finditer(). """ regexp = re.compile(r'(Här är ett regexp för första gruppen. )(Här grupperar vi det andra reguljära uttrycket.)osv.', re.I) matchlist = regexp.finditer(text) for match in matchlist: match1 = match.group(0) match2 = match.groups() match3 = match.group(1) match4 = match.group(2) print('match1=', match1, 'match2=', match2, 'match3=', match3, 'match4=', match4) # Substitutioner med regex. def subs(sub, sub_with): """ Example of how to use the sub function. """ exp = re.compile(sub, re.U) string = exp.sub(sub_with, text) print(string) # Girighet. def greedy(): """ Find from m to n of a regular expression. """ regexp = re.compile(r'([Ett uttryck]*) ([Ett annat uttryck]{4,})', re.I) matchlist = regexp.finditer(txt) for match in matchlist: match1 = match.group(0) match2 = match.group(1) match3 = match.group(2) print('match1=', match1, 'match2=', match2, 'match3=',match3) # Använd findall. def match_half(): """ Find all words which contains its exact half. """ txt = "Farmor och farfar bjöd på kaka innan vi åkte till mormor." regex = re.compile(r'\b(.+)(\1)\b', re.I) matchlst = regex.findall(txt) for match in matchlst: print(match) # Flera subbar med och utan grupper. def subs(): """ Example of how to use the sub function with multiple groups. """ exp = re.compile(r'(reg)(ex)', re.U) string = exp.sub(r' \1 \2-tok', text) exp2 = re.compile(r'(tok)', re.U) string = exp2.compile(r'bok\1', string) print(string) # Använd search. def search_with_re(): txt = 'Här kan stoppa in vilken textsträng som helst och den kan vara hur lång som helst!' regex = re.compile(r'[a-zåäö]+') matchobj = regex.search(text) print ('Första elementet som matchade vårt uttryck var: ', matchobj.group(0))
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question