python - 如何使用电子邮件验证域名是否包含该域名

标签 python regex

您好,我正在寻找一种使用提供的电子邮件地址验证域名的方法 域名可以是 http://www.test.free.com http://www.free.com.au http://www.free.com.au.org http://www.free.com.org 或者可以存在具有任意数量的子子域和任意数量的验证的域名。

验证电子邮件应包含域名,这是我到目前为止所写的

if domain_url is not None and verification_email is not None:

    logging.info('==============================')
    logging.info('BOTH WERE NOT NONE')
    logging.info('==============================')

    domain_email = verification_email.split('@')[1].split('.')[0]

    logging.info('==============================')
    logging.info(domain_email)
    logging.info('==============================')

    verify_domain_url_list = domain_url.split('.')

    if len(verify_domain_url_list) == 4:
        verify_domain_url_list.pop()
        verify_domain_url_list.pop()
    if len(verify_domain_url_list) == 3:
        verify_domain_url_list.pop()


    verify_status = domain_email in verify_domain_url_list

    if verify_status:
        return 'yes'
    else:
        pre_domain_address = verify_domain_url_list[0].split('//')[1]
        if pre_domain_address is not None and \
            domain_email in pre_domain_address:
            return 'yes'
        else:
            return 'no'
    return 'no' 

但这并不匹配所有的可能性。有人可以帮忙吗?

最佳答案

您可以这样做,只需在括号内添加新域即可。

verification_email = 'fed@test.free.com'
pattern = r'.*@(test.free.com|free.com.au|free.com.au.org|free.com.org)$'

import re
if re.search( pattern , verification_email):
    print('yes')
    # or on your case, return 'yes'

https://github.com/fedmich/StackOverflow-answers/blob/master/python-11220230/regex.py

关于python - 如何使用电子邮件验证域名是否包含该域名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11220230/

相关文章:

python - 如何在没有numpy循环的情况下分配给大矩阵中的方形子矩阵

python - 使用 Pandas 的箱线图

python - 如何在pytest中同时使用fixtures和捕获stdout?

python - 我如何使用蓝图将所有路由拆分为子模块

python - 在Windows上同时安装Python 2和Python 3时,如何为Python 2安装OpenCV

java - 不以单词开头、不包含另一个单词但以第三个单词结尾的字符串的正则表达式

Python 2.7 中用于 HTTP GET header 的正则表达式匹配

JavaScript Unicode Regex - 字符类中的范围乱序

regex - 解析输出并获取十六进制颜色

python:用减号替换精确