我在正則表達式中真的很糟糕,並且會使用c#解析電子郵件地址。正則表達式來查找包含在兩個字符之間的字符串
如果我的輸入是[email protected]
,我會用什麼正則表達式來提取「域」部分?可以有多個不同長度的域。
我在正則表達式中真的很糟糕,並且會使用c#解析電子郵件地址。正則表達式來查找包含在兩個字符之間的字符串
如果我的輸入是[email protected]
,我會用什麼正則表達式來提取「域」部分?可以有多個不同長度的域。
用正則表達式分析電子郵件並不是微不足道的,因爲有效的電子郵件的規則很複雜;幸運的是,您不需要:您可以使用MailAddress
類。
var address = new MailAddress("[email protected]");
string domain = address.Host.Split('.')[0];
完美。謝謝。 – Raj 2014-11-06 00:20:00
嘿非常酷的主意 – Jonesopolis 2014-11-06 00:20:41
使用正向後看找到@
,然後抓住文本直到一個.
:
(?<[email protected])[^\.]+
在代碼中,你可以使用:
var str = "[email protected]";
var domain = Regex.Match(str, @"(?<[email protected])[^\.]+").Groups[0].ToString();
你會我想要檢查你的比賽以確保找到一場比賽。
謝謝。這工作。 – Raj 2014-11-06 00:22:19
所以,你需要'@'和後面的'.'之間的文本嗎? – Jonesopolis 2014-11-06 00:14:40
你可以通過幾種不需要'RegEx'的方法來熟悉'IndexOf()'方法或'Split()'方法。 – MethodMan 2014-11-06 00:15:04
是的,@和下面的文字。 – Raj 2014-11-06 00:15:49