Message221666
| Author |
tim.peters |
| Recipients |
BreamoreBoy, ezio.melotti, mrabarnett, py.user, serhiy.storchaka, tim.peters |
| Date |
2014年06月26日.23:42:32 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1403826152.25.0.930128809913.issue14460@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
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" ;-) |
|