- ()|re
- \w|re
Capture more
examples/regex/capture_more.py
import re line = 'There is a phone number 12345 in this row and an age: 23' match = re.search(r'(\w+) (\w+): (\d+)', line) if match: print(match.group(0)) # an age: 23 the full match print(match.group(1)) # an the 1st group of parentheses print(match.group(2)) # age the 2nd group of parentheses print(match.group(3)) # 23 the 3rd group of parentheses # print(match.group(4)) # IndexError: no such group print(match.groups()) # ('an', 'age', '23') print(len(match.groups())) # 3
Some groups might match '' or even not match at all, in which case we get None
in the appropriate match.group() call and in the match.groups() call