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})(']?)$
通过删除<
将负向后看更改为负向前看,并按如下方式重新定位
^([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})(']?)$"