使用正则表达式过滤电子邮件地址:我是正则表达式的新手,希望有人可以提供帮助。
我正在尝试使用以下格式匹配电子邮件地址字符串:
FirstName.LastName@gmail.com
我想确定在'@'字符前面有一段时间,并且'@'字符后的字符与gmail.com匹配
谢谢, 布拉德
答案 0 :(得分:3)
你想要点之前和之后的一些符号,所以我建议.+\..+@gmail\.com
。
.+
表示任何符号(。)可以出现1次或多次(+)
\.
表示点符号;用反斜杠屏蔽以抑制.
的特殊含义
@gmail
和com
应完全匹配。
另见Regular Expression Basic Syntax Reference
编辑:帐户名称的gmail规则只允许拉丁字母,数字和点,所以更好的正则表达式是
[a-zA-Z0-9]+\.[a-zA-Z0-9]+@gmail\.com
答案 1 :(得分:1)
检查有效的电子邮件
^(?= [A-ZA-Z0-9] [A-ZA-Z0-9 @ - ] {5253})(?!?[] * {2})^ [ A-ZA-Z0-9 .-] + [A-ZA-Z0-9 _-] @(?= ?[。] {1})(?!? [ - ] {2})[A-ZA-Z0-9] [A-ZA-Z0-9 .-] +([AZ] {2,} |。。[0-9] {1,})$
强制规则:
答案 2 :(得分:0)
假设Unix样式.
是任何字符:.*\..*@gmail\.com
修改:转义了域中的.
答案 3 :(得分:0)
您甚至不需要正则表达式,因为您的要求非常具体。不确定您使用的是哪种语言,但大多数人会支持在@
上进行拆分并检查.
。在python:
name, _, domain = email.partition('@')
if '.' in name and domain == 'gmail.com':
# valid
答案 4 :(得分:0)
你没有告诉我们你需要什么样的正则表达式,但是这个例子适合大多数:
.*\..*@gmail.com
答案 5 :(得分:0)
我使用以下正则表达式来验证电子邮件地址。我还为此添加了一个 C# 语言的小代码片段。
正则表达式 - "^[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 之类的电子邮件也在此处检查并显示为假。 ;-)