JavaScript replace/regex

You need to double escape any RegExp characters (once for the slash in the string and once for the regexp): “$TESTONE $TESTONE”.replace( new RegExp(“\\$TESTONE”,”gm”),”foo”) Otherwise, it looks for the end of the line and ‘TESTONE’ (which it never finds). Personally, I’m not a big fan of building regexp’s using strings for this reason. The level … Read more

Replace and overwrite instead of appending

You need seek to the beginning of the file before writing and then use file.truncate() if you want to do inplace replace: import re myfile = “path/test.xml” with open(myfile, “r+”) as f: data = f.read() f.seek(0) f.write(re.sub(r”<string>ABC</string>(\s+)<string>(.*)</string>”, r”<xyz>ABC</xyz>\1<xyz>\2</xyz>”, data)) f.truncate() The other way is to read the file then open it again with open(myfile, ‘w’): … Read more