提问者:小点点

如何使用正则表达式匹配特定域中的所有电子邮件地址?


我需要帮助找到一个正则表达式,将匹配电子邮件地址只有一个特定的域

与任何.*@testdomain.com相同

以及与.*@testdomain.com相反的任何东西


共3个答案

匿名用户

我提出一个非常简单的表述:

^[A-Za-z0-9._%+-]+@testdomain.com$

对于否定检查:

^[A-Za-z0-9._%+-]+@(?!testdomain.com)[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$

我希望能为你工作

匿名用户

grep -oE '( |^)[^ ]*@testdomain\.com( |$)' file.txt

-o只返回匹配的字符串

上面将给出file.txt中testdomain的所有电子邮件ID。

匿名用户

对于我的特定场景,我需要这个变体:

'^[A-Za-z0-9._%+-]+@' + email_domain + '$'

这将匹配来自email_domains:['example1.com','example2.co.uk']列表中的email_domains],我正在运行该列表,将每个列表与电子邮件地址列表进行匹配。