Discuss / Python / 练习2:正则表达式的灵活性很强,调试了很久终于写出来了,提取字符还需要考虑字符的顺序,不只是匹配,有时候匹配上了但是提取字符的顺序不一样,导致返回的不一样。

练习2:正则表达式的灵活性很强,调试了很久终于写出来了,提取字符还需要考虑字符的顺序,不只是匹配,有时候匹配上了但是提取字符的顺序不一样,导致返回的不一样。

Topic source

#1 Created at ... [Delete] [Delete and Lock User]
import redef name_of_email(addr):    re_email = re.compile(r'(\<?)([a-zA-Z\s]+)(\>\s)?([a-z]*)@([a-z]+)(\.org|com)$')    if re_email.match(addr):        return re_email.match(addr).group(2)    else:        return None# 测试:assert name_of_email('<Tom Paris> tom@voyager.org') == 'Tom Paris'assert name_of_email('tom@voyager.org') == 'tom'print('ok')

  • 1

Reply