Discuss / Python / 貌似‘?’ 会是None,而不是真的空的

貌似‘?’ 会是None,而不是真的空的

Topic source

范伟

#1 Created at ... [Delete] [Delete and Lock User]

第二题

def name_of_email(addr):    zmail = r'^<?([a-zA-Z]+\s+\w+)?>?\s?(\w+)\@\w+\.[a-zA-Z]+$'    rz = re.match(zmail,addr)    if rz.group(1) != None:        return rz.group(1)    elif rz.group(1) == None:        return  rz.group(2)    else:        return Falseassert name_of_email('<Tom Paris> tom@voyager.org') == 'Tom Paris'assert name_of_email('tom@voyager.org') == 'tom'print('ok')

范伟

#2 Created at ... [Delete] [Delete and Lock User]

def name_of_email(addr):

    zmail = r'^<?(\[a-zA-Z\]+\\s+\\w+)?>?\s?(\w+)\@\w+\.[a-zA-Z]+$'

    rz = re.match(zmail,addr)

    if rz.group(1) != None:

        return rz.group(1)

    elif rz.group(1) == None:

        return  rz.group(2)

    else:

        return False

assert name_of_email('<Tom Paris> tom@voyager.org') == 'Tom Paris'

assert name_of_email('tom@voyager.org') == 'tom'

print('ok')


  • 1

Reply