1

こんにちは私は提供された電子メールアドレスでドメインを確認する方法を探していましたドメイン名はhttp://www.test.free.comhttp://www.free.com.auhttp://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' 

しかし、これはすべての可能性に一致するわけではありません。誰か助けてもらえますか?

4

1 に答える 1

1

かっこ内に新しいドメインを追加するだけで、このように行うことができます。

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

于 2012-06-28T03:44:00.710 に答える