我有一个正则表达式,只接受具有以下格式的电子邮件。
@ stanford.edu.uk或word.edu.word
在这里
/(\.edu\.\w\w\w?)$/
这似乎仅在.edu后跟“ .xx”时才有效(例如:school.edu.au或college.edu.uk)。我还需要它来处理以.edu结尾的电子邮件(例如:school.edu或student.college.edu)
我尝试过:
/(\.w+\.w+\.edu)$/
有谁能帮忙吗?
答案 0 :(得分:1)
您的(\.edu\.\w\w\w?)$
模式需要一个.
,并且在字符串末尾之后需要2到3个字符,因此它不能与末尾的.edu
匹配。
您可以使用
来修复图案\.edu(?:\.\w{2,3})?$
请参见regex demo
详细信息
\.edu
-一个.edu
子字符串(?:\.\w{2,3})?
-一个可选的非捕获组,匹配出现1或0次
\.
-一个点\w{2,3}
-2到3个单词字符$
-字符串的结尾。请注意,\w
与字母,数字和_
匹配。如果您只想匹配字母([a-zA-Z]
仅用于处理ASCII,或使用ECMAScript 2018支持的\p{L}
Unicode属性类(不适用于较旧的浏览器),或者构建拥有pattern to support all Unicode letters)。
另外,请考虑通过How to validate an email address using a regular expression?