我正在尝试编写一个正则表达式来捕获电子邮件 ID。使用 regexpal.com 进行了几个小时的测试。在该站点上,它能够捕获所有电子邮件 ID。当我在 Python 中替换相同的正则表达式并执行 re.findall(pattern,line) 时,它无法捕捉到它。
正则表达式:
[a-zA-Z0-9-_]+[(.)?a-zA-Z0-9-_]*\s*(@|at)\s*[a-zA-Z0-9-_]+\s*(.|dot)\s*[a-zA-Z0-9-_]*\s*(.|dot)\s*e(\-)?d(\-)?u(\-)?(.,)?
例子 :
Line = <TR> <TD><B>E-Mail: </B> <TD><A HREF=MailTo:*example.young@stackoverflow.edu*\>*example.young@stackoverflow.edu*</A>
(在 regexpal.com 上正确突出显示)。
使用 Python:
for line in f:
print 'Line = ',line
matches = re.findall(my_first_pat,line)
print 'Matches = ',matches
给出输出:
Line = <TR> <TD><B>E-Mail: </B> <TD><A HREF=MailTo:example.young@stackoverflow.edu>example.young@stackoverflow.edu</A>
Matches = [('@', 'd', '.', '', '', '', ''), ('@', 'd', '.', '', '', '', '')]
问题是什么?