正则表达式 - 验证电子邮件域和完整电子邮件

时间:2013-09-16 12:09:54

标签: ruby regex

这是我的正则表达式:

\Ame\..*$

我希望它匹配:

me.com
me.ca
Bill@me.com
Bill.Smith@me.com

它也必须匹配:

me.you@mean.com
me.you@foo

目前它只匹配域而不是完整的电子邮件。

我正在使用红宝石。

我一直在使用http://rubular.com/来尝试解决此问题。

1 个答案:

答案 0 :(得分:1)

以下works,如果我正确理解您的要求:

\bme\.[^.@]*\z

<强>说明:

\b     # Match the start of a word
me     # Match "me"
\.     # Match "."
[^.@]* # Match any string unless it contains a "." or a "@"
\z     # Match the end of the string 

(我使用\z代替$,就像我在Rubular示例中所做的那样,因为它也匹配行的结尾。)