def ReplaceAll(pattern, rep, s):
if pattern not in _regexp_compile_cache:<EOL><INDENT>_regexp_compile_cache[pattern] = sre_compile.compile(pattern)<EOL><DEDENT>return _regexp_compile_cache[pattern].sub(rep, s)<EOL>
Replaces instances of pattern in a string with a replacement.

    The compiled regex is kept in a cache shared by Match and Search.

    Args:
      pattern: regex pattern
      rep: replacement text
      s: search string

    Returns:
      string with replacements made (or original string if no replacements)