[issue14460] In re's positive lookbehind assertion repetition works

Tim Peters report at bugs.python.org
Fri Jun 27 01:42:32 CEST 2014


Tim Peters added the comment:

BTW, note that the idea "successful lookaround assertions match an empty string" isn't just a figure of speech:  it's the literal truth, and - indeed - is key to understanding what happens here.  You can see this by adding some capturing groups around the assertions.  Like so:

m = re.search("((?<=a))((?<=a))((?<=a))((?<=a))b", "xab")

Then

[m.span(i) for i in range(1, 5)]

produces

[(2, 2), (2, 2), (2, 2), (2, 2)]

That is, each assertion matched (the same) empty string immediately preceding "b" in the target string.

This makes perfect sense - although it may not be useful.  So I think this report should be closed with "so if it bothers you, don't do it" ;-)

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue14460>
_______________________________________


More information about the Python-bugs-list mailing list