John Salerno wrote: > Ok, I've been staring at this and figuring it out for a while. I'm close > to getting it, but I'm confused by the examples: > > (?(id/name)yes-pattern|no-pattern) > Will try to match with yes-pattern if the group with given id or name > exists, and with no-pattern if it doesn't. |no-pattern is optional and > can be omitted. > > For example, (<)?([EMAIL PROTECTED](?:\.\w+)+)(?(1)>) is a poor email > matching > pattern, which will match with '<[EMAIL PROTECTED]>' as well as > '[EMAIL PROTECTED]', but not with '<[EMAIL PROTECTED]'. New in version 2.4. > > group(1) is the email address pattern, right? So why does the above RE > match '[EMAIL PROTECTED]'. If the email address exists, does the last part > of the RE: (?(1)>) mean that it has to end with a '>'?
I think I got it. The group(1) is referring to the opening '<', not the email address. I had seen an earlier example that used group(0), so I thought maybe the groups were 0-based. -- http://mail.python.org/mailman/listinfo/python-list