正则表达式 - 匹配特定电子邮件域中的特定字词

时间:2016-08-02 03:08:57

标签: regex email

我想匹配来自特定域的电子邮件地址前面的字符串中的单词。

这个词将是" main"域名是" gmail.com"和" hotmail.com"

示例:

123main456@gmail.com =匹配

123main@hotmail.com =匹配

someone@gmail.com =不匹配

我能提出的最好的是如下,但确实通过了验证......

(\W|^)[((?i)naim(?-i))]{0,25}@(yahoo|hotmail|gmail)\.com(\W|$)

谢谢。

1 个答案:

答案 0 :(得分:0)

假设你只想要匹配main这个词。我已经使用了一个前瞻,我在括号内捕获了这个词,只有它属于gmailhotmail域。

正则表达式:(?=(main).*@(?:gmail|hotmail).com)

DEMO

如果你想要一个没有前瞻的人;

正则表达式:(main).*@(?:gmail|hotmail).com

DEMO

在这两种情况下,main都会在括号中捕获。