--- On Wed, 11/3/10, John Bond <[email protected]> wrote:
> I just explained that (I think!)! The outer capturing group > uses > repetition, so it returns the last thing that was matched > by the inner > group, which was an empty string. > According to yourself, the last match of the inner group is also empty! Generally speaking, as a match for the outer group always contains some matches for the inner group, it must be the case that the last match for the inner group must be contained inside the last match of the outer group. So if the last match of the outer group is empty, then the last match for the inner group must also be empty. Regards, Yingjie --- On Wed, 11/3/10, John Bond <[email protected]> wrote: > From: John Bond <[email protected]> > Subject: Re: Must be a bug in the re module [was: Why this result with the re > module] > To: [email protected] > Date: Wednesday, November 3, 2010, 8:43 AM > On 3/11/2010 4:23 AM, Yingjie Lan > wrote: > > --- On Wed, 11/3/10, MRAB<[email protected]> > wrote: > > > >> From: MRAB<[email protected]> > >> Subject: Re: Must be a bug in the re module [was: > Why this result with the re module] > >> To: [email protected] > >> Date: Wednesday, November 3, 2010, 8:02 AM > >> On 03/11/2010 03:42, Yingjie Lan > >> wrote: > >> Therefore the outer (first) group is always an > empty string > >> and the > >> inner (second) group is the same as the previous > example > >> (the last > >> capture or '' if no capture). > > Now I am confused also: > > > > If the outer group \1 is empty, how could the inner > > group \2 actually have something? > > > > Yingjie > > > > > > > I just explained that (I think!)! The outer capturing group > uses > repetition, so it returns the last thing that was matched > by the inner > group, which was an empty string. I > > If you took away the outer groups repetition: > > re.findall('((.a.)*)', 'Mary has a lamb') > > then, for each of the six matches, it returns the full > thing that was > matched: > > ('Mar', 'Mar'), ('', ''), ('', ''), ('has a lam', 'lam'), > ('', ''), ('', > '')] > > Cheers, JB > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list
