i don't understand this RE example from the documentation

John Salerno johnjsal at NOSPAMgmail.com
Mon May 8 16:36:36 EDT 2006


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, (<)?(\w+@\w+(?:\.\w+)+)(?(1)>) is a poor email matching 
pattern, which will match with '<user at host.com>' as well as 
'user at host.com', but not with '<user at host.com'. New in version 2.4.

group(1) is the email address pattern, right? So why does the above RE 
match 'user at host.com'. If the email address exists, does the last part 
of the RE: (?(1)>) mean that it has to end with a '>'?



More information about the Python-list mailing list