如何使用正则表达式匹配特定域的所有电子邮件地址?
我需要帮助找到一个匹配只有特定域的电子邮件地址的正则表达式
如同任何.*@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?