fork download
  1. import re
  2. def replacer_factory(spelling_dict):
  3. def replacer(match):
  4. return '{0}{1}{0}'.format(match.group(1), spelling_dict.get(match.group(2), match.group(2)))
  5. return replacer
  6.  
  7. repkeys = {'modify': 'modifyNew', 'extract': 'extractNew'}
  8. pattern = r'''(['"])(\w+)\1'''
  9. replacer = replacer_factory(repkeys)
  10. filedata = """<fn:modify ele="modify">
  11. <fn:extract name='extract' value="Title"/>
  12. </fn:modify>"""
  13. print( re.sub(pattern, replacer, filedata) )
Success #stdin #stdout 0.02s 9564KB
stdin
Standard input is empty
stdout
<fn:modify ele="modifyNew">
<fn:extract name='extractNew' value="Title"/>
</fn:modify>