使用替换函数,能够实现对匹配的不同内容实现不同的替换方式
def dashrepl(matchobj): if matchobj.group(0) == '-': return ' ' else: return '-' re.sub('-{1,2}', dashrepl, 'pro----gram-files') #结果为 'pro--gram files'