c# -用于电子邮件的正则表达式,但不包括“hotmail”,“gmail”,“yahoo”

本文关键字:hotmail gmail yahoo 用于 不包括 正则表达式 电子邮件 | 更新日期: 2023-09-27 18:05:34

我如何重写这个正则表达式以匹配所有的电子邮件地址,而不是那些
其中包含"hotmail,gmail和yahoo"。到目前为止,我写的是:

^([a-zA-Z0-9_'-'.]+)@(?<!hotmail|gmail|yahoo)(('[[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'.)|(([a-zA-Z0-9'-]+'.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(']?)$

c# -用于电子邮件的正则表达式,但不包括“hotmail”,“gmail”,“yahoo”

通过删除<将负向后看更改为负向前看,并按如下方式重新定位

^([a-zA-Z0-9_'-'.]+)@(('[[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'.)|(?!hotmail|gmail|yahoo)(([a-zA-Z0-9'-]+'.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(']?)$

以上假设"hotmail,gmail and yahoo"将直接跟随@

短相当于:

@"^(['w.-]+)@('[('d{1,3}'.){3}|(?!hotmail|gmail|yahoo)(([a-zA-Z'd-]+'.)+))([a-zA-Z]{2,4}|'d{1,3})(']?)$"