- 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}))|(?:{1})".format(r"|".join(c_except), "|".join(c_out)) 
- print(rx) 
- print(re.sub(rx, r"\1", phrase)) 
				aW1wb3J0IHJlCnBocmFzZSA9ICc1IGhhbXBzaGlyZSByb2FkIGJyYWRmb3JkIG9uIGF2b24gYXZvbiBkaW5hcyBwb3d5cyBwb3d5cyBub3J0aCBzb21lcnNldCBoYW1wc2hpcmUgYXZvbicKY19leGNlcHQgPSBbciJvblxzKyIsciJkaW5hc1xzKyJdCmNfb3V0ID0gWyJhdm9uIiwgInBvd3lzIiwgInNvbWVyc2V0IiwiaGFtcHNoaXJlIl0KcnggPSByIihcYig/OnswfSkoPzp7MX0pKXwoPzp7MX0pIi5mb3JtYXQociJ8Ii5qb2luKGNfZXhjZXB0KSwgInwiLmpvaW4oY19vdXQpKQpwcmludChyeCkKcHJpbnQocmUuc3ViKHJ4LCByIlwxIiwgcGhyYXNlKSk=