import redef is_valid_email(addr): ''' >>> is_valid_email('someone@gmail.com') True >>> is_valid_email('bill.gates@microsoft.com') True >>> is_valid_email('bob#example.com') False >>> is_valid_email('mr-bob@example.com') False ''' if re.match(r'[0-9a-zA-Z\.]+@[0-9a-zA-Z]+.com$', addr): return True else: return Falsedef name_of_email(addr): ''' >>> name_of_email('<Tom Paris> tom@voyager.org') 'Tom Paris' >>> name_of_email('tom@voyager.org') 'tom' ''' r = re.split(r'@', addr) if re.match(r'\w*', r[0]): # 若没有<>符号时 if re.match(r'^[a-zA-Z]+$', r[0]): return r[0] # 否则提取出<>中的内容 else: m = re.match(r'[a-zA-Z\s*]*<([\w\s]*)>[a-zA-Z0-9\s]*', r[0]) return m.group(1) else: return Falseif __name__ == '__main__': import doctest doctest.testmod(verbose=True)
Sign in to make a reply
这是QQ昵称