我想匹配任何在 @
符号前至少包含一个 .
(点)的电子邮件地址。电子邮件已经过验证,因此正则表达式只需要搜索 .
.
我试过了
Regex emailMatcher = new Regex(@"^[a-zA-Z\.']{1,}\.[a-zA-Z\.']{1,}@example\.com$");
但我知道电子邮件可以包含比 a-zA-Z\.'
更多的字符,所以这不会涵盖所有情况。
有什么想法吗?
谢谢
编辑:
我不是要验证电子邮件,我已经验证了电子邮件,我只需要选择包含 .
在 @
符号
将通过的示例:
first.last@example.com
first.middle.last@example.com
应该通过但使用我当前的正则表达式不会通过的示例
first.last(comment)@example.com
最佳答案
你可以在没有正则表达式的情况下做到这一点
Func<string, bool> dotBeforeAt = delegate(string email)
{
var dotIndex = email.IndexOf(".");
return dotIndex > -1 && (dotIndex < email.IndexOf("@"));
};
...
emails.Where(dotBeforeAt).ToList();
关于c# - 匹配包含点的电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30076468/