Discuss / Python / 其实也不是很难的作业

其实也不是很难的作业

Topic source

第一题:

import re
def is_valid_email(addr):
    if re.match(r'^\w[\w\.]*@\w+\.\w{1,3}$',addr):
        return True
# 测试:
assert is_valid_email('someone@gmail.com')
assert is_valid_email('bill.gates@microsoft.com')
assert not is_valid_email('bob#example.com')
assert not is_valid_email('mr-bob@example.com')
print('ok')

第二题:

import re
def name_of_email(addr):
    k=re.compile(r'<([\w][\w\s]+[\w])>\s?\w[\w\.]*@\w+\.\w{1,3}')
    q=re.compile(r'(\w[\w\.]*)@\w+\.\w{1,3}')
    if k.match(addr):
        return k.match(addr).group(1)
    elif q.match(addr):
        return q.match(addr).group(1)
    return None
# 测试:
assert name_of_email('<Tom Paris> tom@voyager.org') == 'Tom Paris'
assert name_of_email('tom@voyager.org') == 'tom'
print('ok')

  • 1

Reply