我需要一个正则表达式来匹配网络钓鱼电子邮件名称,其中没有找到特定的名称或单词。
比如...
John Smith (notmyemail@sodifh.com)
John Smith (notmyemail@SODI.com)
John Smith (jsmit34@gmail.com)
John Smith (myRealEmail@mymail.com)
底部的电子邮件是唯一合法的电子邮件,需要忽略。
我试过类似的:
^(J|j)ohn.(S|s)mith.*\@^((?i)\bmymail\.com\b)*$
但这无法选择3坏的电子邮件.还尝试类似:
^(J|j)ohn.(S|s)mith.*@gmail\.com
但这种方法只删除Gmail的一个。
我如何才能正确地模式匹配删除所有坏的电子邮件,无论字母的情况下,只允许一个域(在这种情况下mymail.com),没有其他人?
1条答案
按热度按时间vwkv1x7d1#
您可以将此正则表达式与负的前瞻条件一起使用
RegEx Demo
RegEx详情:
^
:开始[jJ]ohn
:匹配John
或john
.
:匹配任意字符[sS]mith[
:匹配Smith
或smith
[^@]*
:匹配0或@
以外的任何字符的kore@
:匹配@
(?!mymail\.com)
:如果mymail.com
位于下一个位置,则负向前看会导致匹配失败.+
:匹配任意字符的1+