Hey guys and gals,
This is a followup of my "Counting all permutations of a substring"
thread (see
http://groups.google.com/group/comp....57235b3fd3966f
in Google Groups) I'm still having a difficult time figuring out the
intricacies of regular expressions and consecutive matches. Here's a
brief example:
In [1]: import re
In [2]: aba_re = re.compile('aba')
In [3]: aba_re.findall('abababa')
Out[3]: ['aba', 'aba']
The return is two matches, whereas, I expected three. Why does this
regular expression work this way?
Using redemo.py, one can see that the matches are occurring at the
following spots:
abababa
^ ^ (where ^ indicates the start of a match)
Ideally, there'd be a way to create the regular expression to get at
this match, too:
abababa
^
So that the total matches are:
abababa
^ ^ ^
Is this simply not the way REs work? Does this sort of matching really
have to be home-coded?
Confusedly yours,
Chris