- import re 
- phrase = '5 hampshire road bradford on avon avon dinas powys powys north somerset hampshire avon' 
- c_except = [r"on\s",r"dinas\s"] 
- c_out = ["avon", "powys", "somerset","hampshire"] 
- rx = r"(?<!\b{0})({1})".format(r")(?<!\b".join(c_except), "|".join(c_out)) 
- print(re.sub(rx, "", phrase)) 
				aW1wb3J0IHJlCnBocmFzZSA9ICc1IGhhbXBzaGlyZSByb2FkIGJyYWRmb3JkIG9uIGF2b24gYXZvbiBkaW5hcyBwb3d5cyBwb3d5cyBub3J0aCBzb21lcnNldCBoYW1wc2hpcmUgYXZvbicKY19leGNlcHQgPSBbciJvblxzIixyImRpbmFzXHMiXQpjX291dCA9IFsiYXZvbiIsICJwb3d5cyIsICJzb21lcnNldCIsImhhbXBzaGlyZSJdCnJ4ID0gciIoPzwhXGJ7MH0pKHsxfSkiLmZvcm1hdChyIikoPzwhXGIiLmpvaW4oY19leGNlcHQpLCAifCIuam9pbihjX291dCkpCnByaW50KHJlLnN1YihyeCwgIiIsIHBocmFzZSkp