如何在python中使用re.compile和re.sub?

时间:2015-04-17 01:19:18

标签: python regex

如果我有字典:

a = dict(int='111', b=r'aaabbb#int##int#*')

我想使用re.compile和re.sub这两个函数将其转换为这种形式:

a = {'b': 'aaabbb(111)(111)*', 'int': '111'}

这是我的代码:

i = re.compile(r'#.*#')
result = i.match(a[list(a.keys())[0]))
re.sub(r'#.*#',a[list(pat_dict.keys())[0]], result)

但结果总是返回None。我很困惑。

我该怎么办?

感谢。

1 个答案:

答案 0 :(得分:0)

这是完整的,有效的代码:

import re

a = dict(int='111', b=r'aaabbb#int##int#*')
expected_a = {'b': 'aaabbb(111)(111)*', 'int': '111'}
a['b'] = re.sub(r'#.*?#', '(%s)' % a['int'], a['b'])

print a == expected_a # True