def is_valid_email(addr):
if re_emailaddr.match(addr):
return True
else:
print('%s is a wrong email addr' % addr)
if name == 'main':
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')
def name_of_email(addr):
m = re_emailaddr.match(addr)
if m:
if '<' in m.group(1):
L = re.split(r'[>\<]',m.group(1))
return L[1]
else:
return m.group(1)
else:
print('%s is a wrong email addr' % addr)
if name == 'main':
assert name_of_email('<Tom Paris> tom@voyager.org') == 'Tom Paris'
assert name_of_email('tom@voyager.org') == 'tom'
print('ok')
忘记名字的苏
第一题: import re
re_emailaddr = re.compile(r'^(\w[a-zA-Z.]+)(@)(\w[a-z]+)(.com)$')
def is_valid_email(addr): if re_emailaddr.match(addr): return True else: print('%s is a wrong email addr' % addr)
if name == 'main': 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
re_emailaddr = re.compile(r'^(.+)(@)(\w[a-z]+)(.\w{2,3})$')
def name_of_email(addr): m = re_emailaddr.match(addr) if m: if '<' in m.group(1): L = re.split(r'[>\<]',m.group(1)) return L[1] else: return m.group(1)
if name == 'main': assert name_of_email('<Tom Paris> tom@voyager.org') == 'Tom Paris' assert name_of_email('tom@voyager.org') == 'tom' print('ok')