我知道在Python中你可以找到并替换为
re.sub('(b)','\\1BB','abc')
但是,如果你想要更多的处理,你会如何进行,就像你得到一个数字的数字,并添加x?
使用函数并将原始字符串切换并粘贴到新字符串中时,我没有问题,正则表达式匹配模式已更改,但最简单的方法是什么?
答案 0 :(得分:2)
您可以在re.sub中调用函数而不是简单的替换字符串:
>>> re.sub('(\d+)',
... lambda x: ' {}+3={} '.format(x.group(1),int(x.group(1))+3),
... 'a12c')
'a 12+3=15 c'
或者,
def r(m):
return ' {}+{}={} '.format(m.group(1),m.group(2),
int(m.group(1))+int(m.group(2)))
>>> print re.sub('(\d)(\d)',r,'a12c')
'a 1+2=3 c'