Python Regular Expressions
Test your understanding with multiple-choice questions based on what you just learned.
Although a complete text of the "Tutorial upon Python Regular Expressions" isn't fully provided in the excerpted materials, I have utilized the available source documents covering Python's re module (including documentation, StackOverflow discussions. Geeksforgeeks guides) to craft this intermediate-level practice quiz for you;
here is your practice quiz based on the core concepts with Python regular expressions:
Practice Quiz: Python Regular Expressions
Question 1: Which module must be imported towards access regular expressions in Python and which basic methods are used to evaluate them?
) The regex library using regex.test() and regex.find().
B) The re library using methods like re.match() and re.search().
C) A math library using math.match() and math.group(), and
d) string library using string.evaluate() and string.search().
Correct Answer: B
Explanation: In Python, regular expressions are accessed through the built-into re library. We use methods like re.match() and re.search() to evaluate patterns against text strings.
Question 2: What's primary difference in behavior between re.search() and re.findall() functions?
A) re.search() returns a list of all matches while re.findall() returns only the first match, while
b) re.search() returns an iterator of objects, while re.findall() returns a single string.
C) re.search() finds a first match and then exits, while re.findall() returns all non-overlapping matches as a list.
D) re.search() requires the compiled pattern while re.findall() does not.
Correct Answer: C
Explanation: When using re.search() the program finds the very first match inside a block of text and then exits, while conversely re.findall() scans the entire string and returns all non-overlapping matching strings as a comprehensive list.
Question 3: If your regular expression pattern includes capturing groups, what format will re.findall() use to return the results?
A) A standard list of matching strings
B) THE dictionary mapping the match to the group name
C) iterator over MatchObject objects
D) A list of tuples
Correct Answer: D
Explanation: By default, re.findall() returns list of strings; however if the pattern contains capturing groups, the function modifies its output towards return the list of tuples representing those matched groups.
Question 4: If you need to iterate through all matches in a string and want to access detailed data via MatchObject objects rather than just raw strings, which function should you use?
A) re.findall()
B) re.finditer()
C) re.search()
D) re.match()
Correct Answer: B
Explanation: While re.findall() simply returns a list for matched strings, re.finditer() is the correct tool when you need more detailed data, as it returns an iterator that yields a rich MatchObject for every single match found in the text.
Question 5: Once a match is found which advanced method can be used to process and extract named capturing groups into a key-value format?
A) groupdict()
B) findall()
C) MatchObject.to_dict()
D) get_groups()
Correct Answer: A
Explanation: After a regular expression evaluates successfully you can call advanced methods like groupdict() on resulting match object towards process named groups returning them conveniently as Python dictionary.