【问题标题】:Regex - match a specific word from specific email domains正则表达式 - 匹配来自特定电子邮件域的特定单词
【发布时间】:2016-08-02 03:08:56
【问题描述】:

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

单词将是“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|$)

谢谢。

【问题讨论】:

  • 这似乎对我有用:^.*main.*@(gmail|hotmail).com

标签: regex email


【解决方案1】:

假设您只想匹配单词 main。我使用了前瞻功能,在括号内捕获了单词,前提是它属于 gmailhotmail 域。

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

DEMO

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

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

DEMO

在这两种情况下,main 都包含在括号中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-10
    • 2019-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多