0

配列内の文字列を検索し、対応する [ponding 要素を辞書から置き換える関数を作成したいと思います。これまでのところ私はこれを試しましたが、次のようないくつかのことを理解できません

  1. 特殊文字をエスケープする方法
  2. 見つかった一致に置き換えることができます。試してみ\1ましたがうまくいきませんでした

DSDS

def myfunc(h):
        myarray = {
                "#":"\\#",
                "$":"\\$",
                "%":"\\%",
                "&":"\\&",
                "~":"\\~{}",
                "_":"\\_",
                "^":"\\^{}",
                "\\":"\\textbackslash{}",
                "{":"\\{",
                "}":"\\}"                
                    }
        pattern = "[#\$\%\&\~\_\^\\\\\{\}]"
        pattern_obj = re.compile(pattern, re.MULTILINE)
        new = re.sub(pattern_obj,myarray[\1],h)

        return new
4

4 に答える 4