import re

pattern = r'("[^"]*")|:'
s = 'x:123; y:"z:456"'

res = re.sub(pattern, lambda x: x.group(1) if x.group(1) else "=", s)
print(res)