Discuss / Python / 整理下格式,重新 提交正则表达式本章节答案

整理下格式,重新 提交正则表达式本章节答案

Topic source

Velskerd

#1 Created at ... [Delete] [Delete and Lock User]
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、括号在表达式中的作用,应该不仅仅是分组,是否规范了计算顺序?
...

  • 1

Reply