正则表达式匹配电子邮件,除了特定的电子邮件地址(es)

我需要一个能够匹配电子邮件地址的正则表达式,但从匹配中排除特定的电子邮件地址

例如不匹配(从匹配中排除这些地址);

sponge.bob@example.com
jim.bob@example.com
billy.bob@example.com

匹配所有其他电子邮件地址(包括任何其他有效的电子邮件地址

test@example.com
no.body@example.com
another.test.email@example.com
and.another.one@example.com.au

我尝试使用负面lookbehind表达式,但无法弄清楚如何让它工作(如果甚至可以通过该方法)。 能够指定多个排除的电子邮件将是有益的,但至少需要一个排除。

谢谢


(?:^|(?<=s))(?!sponge.bob@example.com|jim.bob@example.com|billy.bob@example.com)(w[w.]*@w+.[w.]+)b

在这里看到演示。


说明

(?:^|(?<=s))                   //appears at start of line or after space
(?!                             //Don't match if it starts with the below
sponge.bob@example.com|
jim.bob@example.com|
billy.bob@example.com
)                               //End exclusions
(                               //Capture group for emails, you don't need this
w                              //Start with [A-Za-z0-9_]
[w.]*                         //Zero or more of [w.]
@
w+                             //Start with one or more [A-Za-z0-9_]
.                              //Forces to have atleast one dot
[w.]+                         //followed by one or more of [w.]
)                               //End capture group for emails, remove it with the matching group
b                              //Should end with word boundary.
链接地址: http://www.djcxy.com/p/92647.html

上一篇: Regular expression to match email except for specific email address(es)

下一篇: PCRE regex to Re2 Regex without negative lookahead