我正在尝试使用正则表达式来验证电子邮件格式的某些子集,但是到目前为止,我仍然尝试不了什么。这是我的正则表达式(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

07-28 10:40