re.match -- not greedy?
antroy at gmail.com
Wed Nov 22 09:26:49 CET 2006
EXI-Andrews, Jack wrote:
> the '*' and '+' don't seem to be greedy.. they will consume less in
> order to match a string:
> >>> import re;re.match('(a+)(ab)','aaab').groups()
> ('aa', 'ab')
> this is the sort of behaviour i'd expect from
> a+ should greedily consume a's at the expense of the string not matching
They are greedy - they consume as much as possible *without*
sacrificing the match.
You are thinking I think of possessive quantifiers, such as found in
Java, which *will* match as much as possible even if doing so causes
the match to fail. This would be written:
Python doesn't support these possessive quantifiers.
More information about the Python-list