我想写一个正则表达式来捕获电子邮件ID。自从使用regexpal.com几个小时后进行测试。在网站上,它能够捕捉所有的电子邮件ID。当我在Python中替换相同的正则表达式并执行re.findall(pattern,line)时,它无法捕捉它。正则表达式正则表达式正则表达式使用正则表达式,但不是与Python
正则表达式:
[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:*[email protected]*\>*[email protected]*</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:[email protected]>[email protected]</A>
Matches = [('@', 'd', '.', '', '', '', ''), ('@', 'd', '.', '', '', '', '')]
问题是什么?
你能解释一下我应该如何使用非捕获组,或者将整个事物包装在一个组中? – crazyaboutliv 2012-07-26 07:37:20
有关信息,请查看任何正则表达式教程或参考,例如http://www.regular-expressions.info/。 – BrenBarn 2012-07-26 08:18:42