我有電子郵件的像繩子下面如何解析非分隔的電子郵件地址字符串?
「測試@ test.comtest.test1 @ test.comtest @ yahoo.co.intest1.test2 @ support.yahoo.com」
我想這個轉換到一組有效的電子郵件地址。我一直試圖通過使用正則表達式來解決這個問題。
我有電子郵件的像繩子下面如何解析非分隔的電子郵件地址字符串?
「測試@ test.comtest.test1 @ test.comtest @ yahoo.co.intest1.test2 @ support.yahoo.com」
我想這個轉換到一組有效的電子郵件地址。我一直試圖通過使用正則表達式來解決這個問題。
總結大家的評論,
你真的需要更好地分隔你的數據。例如,你可以這樣做:
[email protected]; [email protected]; [email protected]; [email protected]
做這可以讓你分開你的答案;
獲得列表可能的電子郵件地址。但是,看看這個SO接受的關於the problem with validating email addresses using regex的答案。有很多格式和電子郵件地址的可能性,他們很難用正則表達式驗證。
這是使用上述字符串的example of delimiting。
我認爲這應該至多是一個評論,而不是實際的答案。 – npinti
@npinti以(IMO)解決問題的最佳方式。那怎麼不值得回答?另外,我將立即添加一個jsfiddle來澄清過程。 – kevlar1818
因爲它沒有回答問題,所以它假設了額外的條件,而答案是一個尊重這些額外條件的不同問題。你應該要求OP澄清,如果案件有利於你的答案,那麼你可以發佈答案。 –
您可能能夠做到這一點,如果你能保證:
如果你可以做一些擔保,那麼你可以做這樣的事情在Ruby中:
emails = "[email protected]@[email protected]@support.yahoo.com"
# Test for a known string ending in a known domain.
emails.scan /(test.*?[.](?:com|in))/
# Test for known domains with positive lookbehind.
emails.scan /(?<=^|com|in).*?(?:com|in)/
換句話說,如果是固定數據,解決您的燈具有一個合理的分隔符。這將花費更少的時間,並且不太容易出錯。
另一方面,如果它是真實的數據,則不太可能將它們分開。區分任意域名與任意追蹤郵箱名稱是不切實際的。
'「[email protected]測試」@ test.com'是一個有效的電子郵件地址btw。 –
你的數據沒有分隔符? – Limey
那麼你可以先分割這些電子郵件,然後通過驗證循環。 – 2012-05-30 13:01:44
「試圖通過使用正則表達式來解決此問題。」你有什麼嘗試? – kevlar1818