2013-01-08 65 views
0

可能重複:
Parse email addresses for 「from」 and 「to」 fields in Ruby正則表達式查找主機和子從電子郵件地址

給出的形式[email protected]的電子郵件地址,什麼是正則表達式來獲取主機名和子域作爲兩個單獨的變量?我的意思是$1='host'$2='sub'

你的幫助是極大的讚賞:)

編輯我應該說我問一個正則表達式要做到這一點,沒有任何的Ruby代碼。這是用於後綴配置文件,所以我需要一個正則表達式。我之前錯誤地談到了Ruby。我的錯,對於混亂感到抱歉。

+0

你有什麼試過?另外,我會嘗試解析網址:http://www.ruby-doc.org/stdlib-1.9.3/libdoc/uri/rdoc/URI.html#method-c-parse – Blender

+0

@ andreas-h:然後像'^(?:。*?)@(。*?)\。(。*?)\。(?:。*?)\。(?:。*?)$'將會捕獲所有的你需要的團體。 – Blender

+0

對不起,我很困惑。這裏沒有Ruby參與;它適用於Postfix配置文件。 –

回答

1

非貪心組是你的朋友。他們匹配只是你需要:

^(?:.*?)@(.*?)\.(.*?)\.(?:.*?)\.(?:.*?)$ 
+0

謝謝!但不知何故,Postfix並不喜歡這個。我使用'/^(?:.*?)@(.*?)\.(.*?)\.(?:.*?)\.(?:.*?)$/ admin + $ {1} _ $ {2} @ mydomain.net',這會導致錯誤*前面的正則表達式*無效。但是,我在一些在線檢查器中測試了您的答案,並且工作正常。你有什麼想法可能會導致這個問題? –

+0

好吧,讓它工作。我需要告訴postfix它是一個PCRE。 –

相關問題