我想使函數找到數組中的字符串,然後從字典中替換相應的元素[ponding元素。到目前爲止,我已經試過,但我不能夠想出一些東西像我如何搜索和替換使用python正則表達式
- 如何特殊字符轉義
- 我可以用我找到的匹配替換。我想
\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
感謝哥們,我正在尋找這種類型的解決方案 – user196264097 2013-04-28 08:12:13
我無法弄清楚什麼將輸入參數到lambda,以及將如何通過 – user196264097 2013-04-28 08:59:46
@ user196264097:the參數是一個Match對象(http://docs.python.org/dev/library/re.html#re.sub) – georg 2013-04-28 09:01:38