我需要帮助找到一个正则表达式,将匹配电子邮件地址只有一个特定的域
与任何.*@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:['example1.com','example2.co.uk']列表中的email_domains],我正在运行该列表,将每个列表与电子邮件地址列表进行匹配。