re.sub中的group
原文:Stack Overflow
任务:
输入:accessibility,random good bye
输出:a11y,r4m g2d bye
规则:first_letter + length_of_all_letters_in_between + last_letter
re.sub(r"([A-Za-z])([A-Za-z]{2,})([A-Za-z])",
lambda m: m.group(1) + str(len(m.group(2)) + m.group(3),
s)
# 或者:
re.sub(r'\w{4,}', lambda m: m.group()[0] + str(len(m.group())-2) + m.group()[-1], s)