我需要有效的电子邮件正则表达式,以 or 分隔" "
并以@a.com
or结尾b.com
例如:
有效电子邮件string
:"email1@a.com email2@b.com email3@a.com"
无效的电子邮件string
:"email1@a.com email2@b.com email3@c.com"
我不一定认为正则表达式在这里是可扩展和可维护的解决方案。我宁愿:
我非常喜欢正则表达式,但我并不总是认为它们是解决方案。有关此问题的讨论,请参见此处,并注意以下内容!
有些人在遇到问题时会想“我知道,我会使用正则表达式”。现在他们有两个问题。
你可以试试这个表达式:
^(( |^)[^ @]+@[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
(email[1-3]\@[ab].com )*email[1-3]\@[ab].com
?
(将 [1-3] 和 [ab] 替换为真正适合您的内容)。
[A-Za-z0-9_.-]+@[ab]\.com( [A-Za-z0-9_.-]+@[ab]\.com)*
[A-Za-z0-9_.-]+
如果您想限制更多,您可以更改该部分。