您可以将函数传递给re.sub
。该函数将接收一个match对象作为参数,用于.group()
将匹配提取为字符串。
>>> def my_replace(match):
... match = match.group()
... return match + str(match.index('e'))
...
>>> string = "The quick @red fox jumps over the @lame brown dog."
>>> re.sub(r'@\w+', my_replace, string)
'The quick @red2 fox jumps over the @lame4 brown dog.'