对于以" "
分隔的电子邮件,我需要有效的正则表达式,并以@a.com
或b.com
例如:
有效的电子邮件string
:"email1@a.com email2@b.com email3@a.com"
无效的电子邮件string
:"email1@a.com email2@b.com email3@c.com"
答案 0 :(得分:4)
我不一定认为regexp是一种可扩展且可维护的解决方案。我宁愿:
我非常喜欢正则表达式,但我并不总是认为它们是解决方案。有关此问题的讨论,请参阅here,并注意以下内容!
有些人在遇到问题时会想“我知道,我会用 正则表达式。“现在他们有两个问题。
答案 1 :(得分:1)
你可以尝试这个表达式:
^(( |^)[^ @]+@[ab]\.com)+$
// ^ ^ ^ ^ ^
// | | | | +- The mandatory .com
// | | | +------ Either a or b
// | | +--------- An @ sign
// | +------------- Anything but space or @ repeated at least once
// +----------------------- Preceded by a space or the beginning of line
答案 2 :(得分:0)
(email[1-3]\@[ab].com )*email[1-3]\@[ab].com
?
(用适合你的东西取代[1-3]和[ab])。
答案 3 :(得分:0)
试试这个: 。^( @(A | B).COM(| \ S) $
Permalink - 尝试输入无效的字符串,例如“c.com”,并看到它也有效
Regexpal是一个很好的简单工具,可以开始为正在尝试解决的任何问题制作正则表达式!
答案 4 :(得分:0)
[A-Za-z0-9_.-]+@[ab]\.com( [A-Za-z0-9_.-]+@[ab]\.com)*
如果您想要更具限制性,可以更改[A-Za-z0-9_.-]+
部分。