在正则表达式中使用变量很容易,实现此目的的一种方法是:
>>> z = '23'
>>> re.sub(r'p[kv]', r"%s" %z, 'pvkkpkvkk')
'23kk23vkk'
但是如果替换值存储在字典中如下:
d = {'k':'23', 'v':'24'}
我想用字典替换替换值。我想要这样的东西:
re.sub(r'p([kv])', r"%s" %d[\1], 'pvkkpkvkk')
我知道这不会奏效。请帮我找出正确的正则表达式。预期产出与上述相同。
答案 0 :(得分:2)
你可以传递一个任意函数,它接受一个match
对象并返回一个字符串来替换它,作为repl
的{{1}};例如:
re.sub