正则表达式,用于查找两个字符之间的字符串

时间:2014-11-06 00:12:12

标签: c# regex

我在正则表达式上非常糟糕,并且想用c#解析一个电子邮件地址。

如果我的输入是user@domain.me.com,那么我将使用什么正则表达式来提取"域"部分?可以存在多个不同长度的域。

2 个答案:

答案 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();

你会想检查你的比赛以确保找到匹配,我猜想。