python正则表达式匹配邮箱地址是否合法

时间:2025-03-09 09:37:25

题目:
1)请尝试写一个验证Email地址的正则表达式。版本一应该可以验证出类似的Email:
someone@
@
2)版本二可以提取出带名字的Email地址:
tom@ => Tom Paris
bob@ => bob

解释:re_email存放编译格式,为正常邮箱格式。若输入的addr和re_email匹配,则表达式为真,版本二要求输出@之前的部分, 利用正则表达式的分组,输出调用(1)

import re
re_email = (r'^[a-zA-Z\.]+@[a-zA-Z0-9]+\.[a-zA-Z]{3}$')
def is_valid_email(addr):
    if re_email.match(addr):
        print("True")
        m = (r'^([a-zA-Z\.0-9]+)@[a-zA-Z0-9]+\.[a-zA-Z]{3}$',addr)
        print((1))

    else :
        print('False')
is_valid_email('someone@')