def multiple_replace(dict, text): 

  """ Replace in 'text' all occurences of any key in the given
  dictionary by its corresponding value.  Returns the new tring.""" 

  # Create a regular expression  from the dictionary keys
  regex = re.compile("(%s)" % "|".join(map(re.escape, dict.keys())))

  # For each match, look-up corresponding value in dictionary
  return regex.sub(lambda mo: dict[mo.string[mo.start():mo.end()]], text)
 Replace in 'text' all occurences of any key in the given
  dictionary by its corresponding value.  Returns the new tring.
recipes/Python/81330_Singlepass_Multiple_Replace/recipe-81330.py