import re def is_valid_email(addr): if re.match(r'^[\w\.\_]+\@\w+\.com$', addr): print('ok') return True else: print('error') return Falseassert is_valid_email('someone@gmail.com') assert is_valid_email('bill.gate@microsoft.com') assert not is_valid_email('bob#example.com') assert not is_valid_email('mr-bob@example.com') print('END') def name_of_email(addr): target = re.match(r'^(<([a-zA-Z\s]+)>\s+)|(\w+)@.+\.(com|org)$',addr) if target == None: return target if target.group(2) != None: return target.group(2) else: return target.group(3) assert name_of_email('<Tom Paris> tom@voyager.org') == 'Tom Paris' assert name_of_email('tom@voyager.org') == 'tom'print('END')
代码的实现,仅针对题目中的数据,不具有复用性。 另外正则表达式的内容还有很多需要自己进行补充,比如: 1、.是匹配所有字符,那要匹配字符串中的.怎么办? 2、括号在表达式中的作用,应该不仅仅是分组,是否规范了计算顺序? ...
Sign in to make a reply
Velskerd