Dot-Net
來自電子郵件地址的域的正則表達式
誰能幫我一個正則表達式,它會在@符號之後返回電子郵件地址的結尾部分?我是正則表達式的新手,但想學習如何使用它而不是編寫低效的 .Net 字元串函式!
例如,對於“test@example.com”的輸入,我需要“example.com”的輸出。
乾杯! 蒂姆
這是一個通用的電子郵件匹配器:
[a-zA-Z][\w\.-]*[a-zA-Z0-9]@([a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z])請注意,它只擷取域組;如果您使用以下內容,您還可以擷取繼續進行的部分
@:([a-zA-Z][\w\.-]*[a-zA-Z0-9])@([a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z])我不確定這是否符合 RFC 2822,但我對此表示懷疑。
哇,這裡的所有答案都不完全正確。
一個電子郵件地址可以有任意數量的“@”,而最後一個不一定是域之前的那個:(
例如,這是一個有效的電子郵件地址:
user@example.com(i'm a comment (with an @))不過,您必須非常刻薄才能將其設為您的電子郵件地址。
所以首先,解析出最後的任何評論。
然後
int atIndex = emailAddress.LastIndexOf("@"); String domainPart = emailAddress.Substring(atIndex + 1);