我在正则表达式上非常糟糕,并且想用c#解析一个电子邮件地址。
如果我的输入是user@domain.me.com
,那么我将使用什么正则表达式来提取"域"部分?可以存在多个不同长度的域。
答案 0 :(得分:4)
使用正则表达式解析电子邮件并非易事,因为有效电子邮件的规则很复杂;幸运的是,您不需要:您可以使用MailAddress
课程。
var address = new MailAddress("user@domain.me.com");
string domain = address.Host.Split('.')[0];
答案 1 :(得分:1)
使用正面的后视查找@
,然后抓取文字直到.
:
(?<=@)[^\.]+
:
var str = "user@domain.me.com";
var domain = Regex.Match(str, @"(?<=@)[^\.]+").Groups[0].ToString();
你会想检查你的比赛以确保找到匹配,我猜想。