C# 正则表达式';正在使用C设置Hotmail电子邮件地址#
不幸的是,我的hMailServer无法向Hotmail发送电子邮件。如何确定给定的电子邮件地址是否为Hotmail,以防止邮件丢失 Hotmail电子邮件可以是: *@live.com *@live.fr[pt][ru][etc] *@hotmail.com, *@live.com.jp *@msn.com *以及许多国家TLD特定组合,包括MSN、Hotmail和Live 似乎不可能使用正则表达式来过滤它 关于如何检测电子邮件地址是否属于Hotmail地址系列,您有什么想法吗?这将起作用:C# 正则表达式';正在使用C设置Hotmail电子邮件地址#,c#,regex,email,C#,Regex,Email,不幸的是,我的hMailServer无法向Hotmail发送电子邮件。如何确定给定的电子邮件地址是否为Hotmail,以防止邮件丢失 Hotmail电子邮件可以是: *@live.com *@live.fr[pt][ru][etc] *@hotmail.com, *@live.com.jp *@msn.com *以及许多国家TLD特定组合,包括MSN、Hotmail和Live 似乎不可能使用正则表达式来过滤它 关于如何检测电子邮件地址是否属于Hotmail地址系列,您有什么想法吗?这将起作用:
function bool IsHotmailAddress(string email) {
var r = new Regex(@"\@(live|hotmail)\.[a-z]{2,3}(\.[a-z]{2,3})?$", RegexOptions.IgnoreCase);
return r.IsMatch(email);
}
我们在这里谈论的是什么语言?的确如此。我懒得再加上其余的内容:p这会给像这样的罕见网站带来误报alex@live.n2.com或alex@live.cms.com这不是hotmail地址。您可以通过将[a-z]匹配更改为匹配任何tld((co | com | org | edu | net | jp | ca |……)来解决此问题但我认为这太过分了,而且随着时间的推移,你必须添加一些东西。谢谢!我希望我也是一个正则表达式大师……我只是不懂这些东西。@Alex尽量不要使用太多你不懂的东西;这使得调试代码变得不可能。相反,自学!很棒。