Revision: 7426
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 23, 2008 14:51 by vasilije
Initial Code
import re
def replace(match, withwhat):
starttext = match.group(0)
n = len(withwhat)
off = match.start(0)
tmp = starttext
for i in range(n):
delta = len(tmp)-len(starttext)
tmp = tmp[:match.start(i+1)-off+delta ] + withwhat[i](match.group(i+1)) + tmp[match.end(i+1)-off+delta:]
return tmp
#test
funcs = [lambda x: '1'+x+'1',lambda x: '2'+x+'2']
#regex contains 2 capturing groups
print re.sub(regex, lambda x: replace(x, funcs), text)
Initial URL
Initial Description
Initial Title
python search-replace on a match with n non-nested groups
Initial Tags
regex, textmate, python
Initial Language
Other