我开发和应用收获任何类型的文件,从电子邮件 类型:[email protected] ishani(AT),在CS点dit.dolly.lk ishani小车点edu电子邮件收获与Python
但输出的问题会显示除提取的完整电子邮件以外的列表中的一些额外项目。我发现为什么是这样。我在各种ways.I试图认为这是在我的正则表达式的问题或逻辑
这里是我的代码
data=f.read()
regexp_email = r'(([\w]+)@([\w]+)([.])([\w]+[\w.]+))|(([\w]+)(\(at\))([\w]+)([.])([\w]+[\w.]+))|(([\w]+)(\sat\s)([\w-]+)(\sdot\s)([\w]+(\sdot\s[\w]+)))'
pattern = re.compile(regexp_email)
emailAddresses = re.findall(pattern, data)
print emailAddresses
输出是这样
[('[email protected]', 'ishani', 'sliit', '.', 'lk', '', '', '', '', '', '', '', '', '', '', '', '', ''), ('', '', '', '', '', 'ishani(at)dit.sliit.lk', 'ishani', '(at)', 'dit', '.', 'sliit.lk', '', '', '', '', '', '', ''), ('', '', '', '', '', '', '', '', '', '', '', 'ishani at cs dot dolly dot edu', 'ishani', ' at ', 'cs', ' dot ', 'dolly dot edu', ' dot edu')]
但是我期待像这样的输出
['[email protected]','ishani(at)dit.dolly.lk','ishani at cs dot dolly dot edu']
是否有任何人试过的方法支持我的问题?
在您的解决方案中,它将字符逐个分割。但我预计整个电子邮件地址列表中的一个元素 像这样 ['[email protected]','ishani(at)dit.dolly.lk','ishani at cs dot dolly dot edu'] – Ishani702 2013-03-06 17:23:08
@ Ishani702:它做你想做的。你在说什么? – nhahtdh 2013-03-06 17:25:07
您的结果如下所示 ['n','u','w','a','n','','s','l','i','i','t '','l','k','n','u','w','a','n','(','a','t',')', 'd','i','t','。','s','l','i','i','t','。','l','k','n ''''','w','a','n','','a','t','','c','s','','d','o' ,'t','','s','l','i','i','t','','d','o','t','','e', 'd','u'] 我期待的是这样的 ['[email protected]','ishani(at)dit.dolly.lk','ishani at cs dot dolly dot edu'] – Ishani702 2013-03-06 17:30:02