python 正则表达式使用函数替换

使用替换函数,能够实现对匹配的不同内容实现不同的替换方式

def dashrepl(matchobj):
    if matchobj.group(0) == '-': return ' '
    else: return '-'
 
 
re.sub('-{1,2}', dashrepl, 'pro----gram-files')
 
#结果为 'pro--gram files'