Java 限制电子邮件正则表达式中的特定域
我有一个验证电子邮件输入字段的现有正则表达式Java 限制电子邮件正则表达式中的特定域,java,regex,Java,Regex,我有一个验证电子邮件输入字段的现有正则表达式 [a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!$%&'*+/=?^_`{|}~-]+)*(\\.)?@(?:[a-zA-Z0-9ÄÖÜäöü](?:[a-zA-Z0-9-_ÄÖÜäöü]*[a-zA-Z0-9_ÄÖÜäöü])?\\.)+[a-zA-Z]{2,} 现在,我希望这个正则表达式不匹配两种特定类型的电子邮件ID。它们是wt.com和des.net 为此,我对上面的表达式做了
[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!$%&'*+/=?^_`{|}~-]+)*(\\.)?@(?:[a-zA-Z0-9ÄÖÜäöü](?:[a-zA-Z0-9-_ÄÖÜäöü]*[a-zA-Z0-9_ÄÖÜäöü])?\\.)+[a-zA-Z]{2,}
现在,我希望这个正则表达式不匹配两种特定类型的电子邮件ID。它们是wt.com和des.net
为此,我对上面的表达式做了如下更改
[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!$%&'*+/=?^_`{|}~-]+)*(\\.)?@(?!wt\\.com)(?!des\\.net)(?:[a-zA-Z0-9ÄÖÜäöü](?:[a-zA-Z0-9-_ÄÖÜäöü]*[a-zA-Z0-9_ÄÖÜäöü])?\\.)+[a-zA-Z]{2,}
在此之后,它与任何以wt.com和des.net结尾的电子邮件id都不匹配。
但问题是它与wt.comm或限制字符串后面的任何其他字母也不匹配。。
我只想限制以wt.com和des.net结尾的电子邮件
我该怎么做?
以下是应匹配或不匹配的电子邮件示例
如果您只想防止
wt.com
和des.net
后面没有字符,您可以在每个负前瞻的末尾添加$
(表示字符串结尾)
因此,不要使用(?!wt\\.com)(?!des\\.net)
而使用(?!wt\\.com$)(?!des\\.net$)