Discuss / Python / 习题答案

习题答案

Topic source

第一题

def is_valid_email(addr):
    h = re.match(r'([0-9a-zA-Z\.]+)\@([0-9a-zA-Z]+\.[a-z]+)',addr)
    if h==None:
        return None
    else:
        return True

第二题

def name_of_email(addr):
    h1 = re.match(r'<([a-zA-Z0-9\s]+)>[a-zA-Z0-9\s]+\@[a-z\.]+',addr)
    h2 = re.match(r'([a-zA-Z0-9\s]+)\@[a-z\.]+',addr)
    if h1:
        return h1.group(1)
    else:
        return h2.group(1)

或者也可以把h1和h2用 | 合并在一起

def name_of_email(addr):
    h = re.match(r'<([a-zA-Z0-9\s]+)>[a-zA-Z0-9\s]+|([a-zA-Z0-9\s]+)\@[a-z\.]+',addr)
    if h.group(1)==None:
        return h.group(2)
    else:
        return h.group(1)

  • 1

Reply