【发布时间】:2011-08-17 05:00:01
【问题描述】:
使用正则表达式过滤电子邮件地址:我是正则表达式的新手,希望有人能提供帮助。
我正在尝试使用以下格式匹配电子邮件地址字符串:
FirstName.LastName@gmail.com
我想确保在“@”字符之前的某个地方有一个句点,并且“@”字符之后的字符与 gmail.com 匹配
【问题讨论】:
标签: regex email-address
使用正则表达式过滤电子邮件地址:我是正则表达式的新手,希望有人能提供帮助。
我正在尝试使用以下格式匹配电子邮件地址字符串:
FirstName.LastName@gmail.com
我想确保在“@”字符之前的某个地方有一个句点,并且“@”字符之后的字符与 gmail.com 匹配
【问题讨论】:
标签: regex email-address
检查有效的电子邮件
^(?:(?!.*?[.]{2})[a-zA-Z0-9](?:[a-zA-Z0-9.+!%-]{1,64}|)|\"[a-zA-Z0-9.+!% -]{1,64}\")@[a-zA-Z0-9][a-zA-Z0-9.-]+(.[a-z]{2,}|.[0-9]{1,})$
强制规则:
【讨论】:
test@gm. 是一个有效的电子邮件,而不是
我使用以下正则表达式来验证电子邮件地址。我还为此添加了一个 C# 语言的小代码 sn-p。
正则表达式 - "^[a-zA-Z0-9]{3,20}@gmail.com$"
代码:-
static void Main(string[] args)
{
Console.WriteLine("Enter Your Text ");
string input = Console.ReadLine();
Console.WriteLine("The Text that you have entered is :" + input);
Console.ReadLine();
string pattern = "^[a-zA-Z0-9]{3,20}@gmail.com$";
Regex regex = new Regex(pattern);
bool results = regex.IsMatch(input);
Console.WriteLine(results.ToString());
Console.ReadLine();
}
∂øøµ$∂å¥!@gmail.com 等电子邮件也已在此处检查并显示为假。 ;-)
【讨论】:
您想要在点前后添加一些符号,所以我建议.+\..+@gmail\.com。
.+ 表示任何符号 (.) 可以出现 1 次或多次 (+)\. 表示点符号;用反斜杠筛选以抑制 . 的特殊含义@gmail 和 com 应该完全匹配。
另见Regular Expression Basic Syntax Reference
编辑:帐户名称的 gmail 规则只允许拉丁字母、数字和点,因此更好的正则表达式是[a-zA-Z0-9]+\.[a-zA-Z0-9]+@gmail\.com
【讨论】:
. 开头或结尾),+ 是必要的,尽管电子邮件正则表达式变得非常复杂,因为有效的规范地址。
假设.是任意字符的Unix风格:.*\..*@gmail\.com
编辑:转义域中的.
【讨论】:
你没有告诉我们你需要什么样的正则表达式风格,但是这个例子适合大多数人:
.*\..*@gmail.com
【讨论】:
您甚至不需要正则表达式,因为您的要求非常具体。不确定您使用的是什么语言,但大多数人会支持在@ 上进行拆分并检查.。在python中:
name, _, domain = email.partition('@')
if '.' in name and domain == 'gmail.com':
# valid
【讨论】: