所以,我解析從Eudora一個.mozeml文件,並將它們轉換爲MBOX文件(MBOX被損壞,並刪除,但mozeml文件被遺留下來,但無法將其導入)。有超過20萬封電子郵件,並不確定正確處理這個問題的好方法。拉電子郵件從一個字符串
我想創建一個Java程序,它將讀取.mozeml文件(它們是xml,utf-8格式)解析數據,然後用這種格式編寫一個mbox文件http://en.wikipedia.org/wiki/Mbox#Family。
的問題僅僅是XML文件並沒有分開爲線,並且該消息;它只是一個完整的字符串。我不完全確定如何妥善處理。
例如這裏是消息的外觀
"Joe 1" <[email protected]>[email protected] this is an e-mail...
或
"Joe 1" <[email protected]>"Joe 2" <[email protected]>Hello this is an e-mail...
有很多的測試用例來檢查它是否是一個.COM/.NET/com.hk/.CO .JP /等。爲第一個。第二個是有點更容易,因爲的,以線到底是>。所以,我不確定第一個案件,並確保它對於200,000封電子郵件將是準確的。
有一個關於電子郵件驗證後(當然也可以用於searchign以及)http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-地址,但符合標準的正則表達式看起來更難:http://ex-parrot.com/~pdw/Mail-RFC822-Address.html。 – Vic 2012-08-09 19:23:03
血腥的地獄,這是瘋狂的複雜。不過,我認爲我的正則表達式應該適用於絕大多數電子郵件地址,假設我沒有錯過任何合法字符。 – rmehlinger 2012-08-10 00:31:21
是的,這真的很瘋狂。它使用相當不尋常的正則表達式語法。另一方面,它非常大,我的感覺是,它會很慢。試試我們建議的東西可能會更有用。 – Vic 2012-08-10 05:38:32