Python使用正则表达式替换函数的结果

esi*_*gel 5 python regex

我有一个文本块,并且对于每个正则表达式匹配,我想用来自另一个函数的返回值替换该匹配.这个函数的参数当然是匹配的文本.

我一直在努力想出一个解决这个问题的单程解决方案.感觉它应该很简单.

oef*_*efe 14

文档中:

>>> def dashrepl(matchobj):
...     if matchobj.group(0) == '-': return ' '
...     else: return '-'
>>> re.sub('-{1,2}', dashrepl, 'pro----gram-files')
'pro--gram files'
Run Code Online (Sandbox Code Playgroud)