配列内の文字列を検索し、対応する [ponding 要素を辞書から置き換える関数を作成したいと思います。これまでのところ私はこれを試しましたが、次のようないくつかのことを理解できません
- 特殊文字をエスケープする方法
- 見つかった一致に置き換えることができます。試してみ
\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