我正在尝试使用正则表达式来验证电子邮件格式的某些子集,但是到目前为止,我仍然尝试不了什么。这是我的正则表达式(Java):
boolean x = l.matches(
"^[_A-Za-z0-9-\\\\+]+(\\\\.[_A-Za-z0-9-]+)*@\"\n" +"+ \"[A-Za-z0-9-]+(\\\\.[A-Za-z0-9]+)*(\\\\.[A-Za-z]{2,})$"
);
这些是字符串必须匹配的条件:
邮件域来自列表:
www.fightclub.uk
www.fightclub.lk
www.fightclub.sa
www.fightclub.cc
www.fightclub.jp
www.fightclub.se
www.fightclub.xy
www.fightclub.gi
www.fightclub.rl
www.fightclub.ss
用户名包含3到6个字符(仅小写英文字母和数字)
例子:
[email protected]
是valid
[email protected]
是invalid
最佳答案
您可以使用:
^[a-z0-9]{3,6}@fightclub\.(?:uk|lk|sa|cc|jp|se|xy|gi|rl|ss)$
^
表示字符串的开头[a-z0-9]{3,6}
小写字母或数字,长度3-6个字符跟
@fightclub
后跟句点
\.
后跟一个域列表
(?:
表示这是一个非捕获组。您的所有域名扩展都在此处列出。$
表示字符串的结尾演示:https://regex101.com/r/rYYXYA/1