如何在python中使用正则表达式中的字典?

时间:2015-06-21 10:26:53

标签: python regex dictionary

在正则表达式中使用变量很容易,实现此目的的一种方法是:

>>> 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')

我知道这不会奏效。请帮我找出正确的正则表达式。预期产出与上述相同。

1 个答案:

答案 0 :(得分:2)

你可以传递一个任意函数,它接受一个match对象并返回一个字符串来替换它,作为repl的{​​{1}};例如:

re.sub