re.sub参数之回调函数

发布时间 2023-07-10 08:51:04作者: 我在路上回头看
from calendar import month_abbr
import re


def change_date(m):
    mon_name = month_abbr[int(m.group(1))]
    return '{} {} {}'.format(m.group(2), mon_name, m.group(3))


if __name__ == '__main__':
    text = 'Today is 11/27/2012. PyCon starts 3/13/2013.'
    datepat = re.compile(r'(\d+)/(\d+)/(\d+)')
    # 先会执行匹配,然后将匹配到的match对象传入到回调函数中
    print(datepat.sub(change_date, text))