How to get the "longest possible" match with Python's RE module?
Licheng Fang
fanglicheng at gmail.com
Mon Sep 11 23:04:58 EDT 2006
Basically, the problem is this:
>>> p = re.compile("do|dolittle")
>>> p.match("dolittle").group()
'do'
Python's NFA regexp engine trys only the first option, and happily
rests on that. There's another example:
>>> p = re.compile("one(self)?(selfsufficient)?")
>>> p.match("oneselfsufficient").group()
'oneself'
The Python regular expression engine doesn't exaust all the
possibilities, but in my application I hope to get the longest possible
match, starting from a given point.
Is there a way to do this in Python?
More information about the Python-list
mailing list