2024-10-04 01:26:01 发布
网友
我在寻找“完美”的regexp来验证电子邮件是否属于域名(包括子域),例如:
www.domain.com : some1@domain.com sub.domain.com : some1@sub.domain.com domain2.com : some1@domain2.com
取自django:
email_re = re.compile( r"(^[-!#$%&'*+/=?^_`{}|~0-9A-Z]+(\.[-!#$%&'*+/=?^_`{}|~0-9A-Z]+)*" # dot-atom r'|^"([\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-011\013\014\016-\177])*"' # quoted-string r')@(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+[A-Z]{2,6}\.?$', re.IGNORECASE) # domain
您不需要正则表达式:
>>> def match_domain(domain, email): ... return email.endswith(domain.lstrip('www.')) ... >>> match_domain('www.domain.com', 'some1@domain.com') True >>> match_domain('www.domain.com', 'some1@www.domain.com') True >>> match_domain('sub.domain.com', 'some1@sub.domain.com') True >>> match_domain('sub.domain2.com', 'some1@sub.domain.com') False >>> match_domain('domain2.com', 'some1@domain.com') False
取自django:
您不需要正则表达式:
相关问题 更多 >
编程相关推荐