match point
Thierry
no at mail.com
Tue Dec 22 05:56:48 EST 2015
Hi,
Reading the docs about regular expressions, I am under the impression
that calling
re.match(pattern, string)
is exactly the same as
re.search(r'\A'+pattern, string)
Same for fullmatch, that amounts to
re.search(r'\A'+pattern+r'\Z', string)
The docs devote a chapter to "6.2.5.3. search() vs. match()", but they
only discuss how match() is different from search() with '^', completely
eluding the case of search() with r'\A'.
At first I thought those functions could have been introduced at a time
when r'\A' and r'\Z' did not exist, but then I noticed that re.fullmatch
is a recent addition (python 3.4)
Surely the python devs are not cluttering the interface of the re module
with useless functions for no reason, so what am I missing?
Maybe re.match has an implementation that makes it more efficient? But
then why would I ever use r'\A', since that anchor makes a pattern match
in only a single position, and is therefore useless in functions like
re.findall, re.finditer or re.split?
Thanks,
Thierry
More information about the Python-list
mailing list