我有一个正则表达式<type '_sre.SRE_Pattern'>
,我想用匹配的字符串替换另一个字符串。这就是我所拥有的:
compiled = re.compile(r'some regex expression')
s = 'some regex expression plus some other stuff'
compiled.sub('substitute', s)
print(s)
和s
应为
'substitute plus some other stuff'
但是,我的代码无效,字符串没有改变。
答案 0 :(得分:2)
re.sub
不是就地操作。来自文档:
返回通过替换最左边不重叠获得的字符串 替换代表在字符串中出现模式。
因此,您必须将返回值分配回a
。
...
s = compiled.sub('substitute', s)
print(s)
这给出了
'substitute plus some other stuff'
正如您所期望的那样。