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

Reply via email to