make RE more cleaver to avoid inappropriate : sre_constants.error: redefinition of group name
aspineux
aspineux at gmail.com
Thu Mar 29 10:22:08 EDT 2007
I want to parse
'foo at bare' or '<foot at bar>' and get the email address foo at bar
the regex is
r'<\w+@\w+>|\w+@\w+'
now, I want to give it a name
r'<(?P<email>\w+@\w+)>|(?P<email>\w+@\w+)'
sre_constants.error: redefinition of group name 'email' as group 2;
was group 1
BUT because I use a | , I will get only one group named 'email' !
Any comment ?
PS: I know the solution for this case is to use r'(?P<lt><)?(?P<email>
\w+@\w+)(?(lt)>)'
More information about the Python-list
mailing list