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 '>'? -- http://mail.python.org/mailman/listinfo/python-list