【发布时间】:2016-09-23 16:35:50
【问题描述】:
我是 Python 2.7 的新手。使用正则表达式,我试图从文本文件中提取来自输入行的电子邮件。我正在使用非贪婪方法,因为电子邮件在同一行中重复了 2 次。这是我的代码:
import re
f_hand = open('mail.txt')
for line in f_hand:
line.rstrip()
if re.findall('\S+@\S+?',line): print re.findall('\S+@\S+?',line)
然而,这是我得到的,而不仅仅是电子邮件地址:
['href="mailto:secretary@abc-mediaent.com">sercetary@a']
我应该在re.findall 中使用什么来获取电子邮件?
【问题讨论】:
-
[^@]+@\S+?- 明确匹配非@。 -
不要尝试使用正则表达式解析 HTML。使用 HTML 解析器。
-
这将有助于查看您尝试解析的文本示例,以及预期的输出。
-
嗨布伦丹!这是文本:sachin.gokhale@indiacast.com
标签: python regex python-2.7 non-greedy