I have found two ways to extract matches in Python:
1.
def extract_matches(regexp, text):
matches = re.match(regexp, text)
if matches:
return matches.group(1)
2.
def extract_matches(regexp, text):
try:
return re.findall(regexp, text)[0]
except IndexError:
return None
Which one would you suggest me to use? And do you know any other ways to do this?
Thanks, Boda Cydo.
I would more often use re.search
(which returns any match, not just one constrained to start at the beginning of the string as re.match
does!) if I'm looking for just one match, re.finditer
if I want to loop over all matches. Never re.findall
if I'm going after only one match though, that's wasted effort with no upside!
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.