REGEX 从找不到单词的地方选择困难

问题描述 投票:0回答:1

我需要一个正则表达式来匹配网络钓鱼电子邮件名称,其中找不到特定的名称或单词。

例如...

John Smith ([email protected])
John Smith ([email protected])
John Smith ([email protected])
John Smith ([email protected])

底部电子邮件是唯一合法的电子邮件,需要忽略。

我试过类似于:

^(J|j)ohn.(S|s)mith.*\@^((?i)\bmymail\.com\b)*$

但这无法选择 3 封坏邮件。 也试过类似:

^(J|j)ohn.(S|s)mith.*@gmail\.com

但此方法仅删除 Gmail 一个。

我怎样才能正确地进行模式匹配以删除所有不区分字母大小写的不良电子邮件,并且只允许一个域(在本例中为 mymail.com)而不允许其他域?

regex regex-group
1个回答
0
投票

你可以使用这个带有负提前条件的正则表达式L

^[jJ]ohn.[sS]mith[^@]*@(?!mymail\.com)

正则表达式演示

© www.soinside.com 2019 - 2024. All rights reserved.