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

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

如同任何.*@testdomain.com

除了.*@testdomain.com之外,还有其他相反的.*@testdomain.com


我提出一个很简单的表达方式:

^[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列表中的email_domain:['example1.com','example2.co.uk'],并且我在列表中运行,将每个列表与电子邮件地址进行匹配。

链接地址: http://www.djcxy.com/p/92643.html

上一篇: How to match all email addresses at a specific domain using regex?

下一篇: Regular expression for email and 'No Email'