Harry Potter Problem¶
Here's some dialogue from Harry Potter and the Sorcerer's Stone.
quotes = """Molly Weasley: Fred, you next.
George Weasley: He’s not Fred, I am!
Fred Weasley: Honestly, woman. You call yourself our mother.
Molly Weasley: Oh, I’m sorry, George.
Fred Weasley: I’m only joking, I am Fred!"""
Identify each line spoken by Fred. Then put them in a list. (Note that quotes is a multi-line string.)
Expected result
lines = [
    'Fred Weasley: Honestly, woman. You call yourself our mother.', 
    'Fred Weasley: I’m only joking, I am Fred!'
]
Regex Functions
| Function | Description | Return Value | 
|---|---|---|
| re.findall(pattern, string, flags=0) | Find all non-overlapping occurrences of pattern in string | list of strings, or list of tuples if > 1 capture group | 
| re.finditer(pattern, string, flags=0) | Find all non-overlapping occurrences of pattern in string | iterator yielding match objects | 
| re.search(pattern, string, flags=0) | Find first occurrence of pattern in string | match object or None | 
| re.split(pattern, string, maxsplit=0, flags=0) | Split string by occurrences of pattern | list of strings | 
| re.sub(pattern, repl, string, count=0, flags=0) | Replace pattern with repl | new string with the replacement(s) | 
Regex Patterns
| Pattern | Description | 
|---|---|
| [abc] | a or b or c | 
| [^abc] | not (a or b or c) | 
| [a-z] | a or b ... or y or z | 
| [1-9] | 1 or 2 ... or 8 or 9 | 
| \d | digits [0-9] | 
| \D | non-digits [^0-9] | 
| \s | whitespace [ \t\n\r\f\v] | 
| \S | non-whitespace [^ \t\n\r\f\v] | 
| \w | alphanumeric [a-zA-Z0-9_] | 
| \W | non-alphanumeric [^a-zA-Z0-9_] | 
| . | any character | 
| x* | zero or more repetitions of x | 
| x+ | one or more repetitions of x | 
| x? | zero or one repetitions of x | 
| {m} | m repetitions | 
| {m,n} | m to n repetitions | 
| {m,n} | m to n repetitions | 
| \\,\.,\* | backslash, period, asterisk | 
| \b | word boundary | 
| ^hello | starts with hello | 
| bye$ | ends with bye | 
| (...) | capture group | 
| (po|go) | po or go |