我開發和應用收穫任何類型的文件,從電子郵件 類型:[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