fork download
  1. import re
  2.  
  3. input = "FieldA:ValueA { Field1:Value1 Field2:Value2 Field3:Value3 } FieldB:ValueB"
  4. value = "Value1"
  5. field = "NewField"
  6.  
  7. def evaluate(m):
  8. return re.sub(r'(\w+):(' + re.escape(value) + r'\b)', field + ":\\2", m.group(0))
  9.  
  10. output = re.sub(r'\{[^{}]*\}', evaluate, input)
  11.  
  12. print output;
Success #stdin #stdout 0.09s 10840KB
stdin
Standard input is empty
stdout
FieldA:ValueA { NewField:Value1 Field2:Value2 Field3:Value3 } FieldB:ValueB