我需要帮助才能找到匹配特定域
的电子邮件地址的正则表达式与任何.*@testdomain.com
除了.*@testdomain.com
答案 0 :(得分:21)
Ay的
我提出一个非常简单的表达方式:
^[A-Za-z0-9._%+-]+@testdomain.com$
并进行否定检查:
^[A-Za-z0-9._%+-]+@(?!testdomain.com)[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$
我希望能为你效劳
答案 1 :(得分:0)
grep -oE '( |^)[^ ]*@testdomain\.com( |$)' file.txt
-o仅返回匹配的字符串
以上内容将在file.txt中提供testdomain的所有电子邮件ID。
答案 2 :(得分:0)
对于我的特定情况,我需要这种变化:
'^[A-Za-z0-9._%+-]+@' + email_domain + '$'
这会匹配email_domains列表中的email_domain:[' example1.com',' example2.co.uk']我正在浏览列表,每个匹配针对电子邮件地址列表。
答案 3 :(得分:0)
@Kushal我找到了一种简单的方法来执行此操作,但这有点棘手,因为我必须通过Ajax从存储在其他位置的全局变量中检索域。
这是JavaScript验证方法中的以下代码行:
return new RegExp("^\\w+([-+.']\w+)*@"+getDomain.responseJSON.d+"$").test(value.trim());
我当场创建了一个新的RegExp并测试该值(电子邮件输入)以查看其是否与域匹配。
如果您想要更精致的内容但具有标准域,则可以这样:
return /^\w+([-+.']\w+)*@?(example1.com|example2.com)$/.test(value.trim());