如果我有字典:
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。我很困惑。
我该怎么办?
感谢。
答案 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