在Perl中,我会写:
$x = "abbbc";
$x =~ s/(b+)/z/;
print "Replaced $1 and ended up with $x\n";
# "Replaced bbb and ended up with azc"
如何在Python中执行此操作 - 使用正则表达式字符串替换和记录被替换的内容?
答案 0 :(得分:6)
Python不会同时返回匹配和替换。在返回的Match对象上调用group(0)
将找到匹配的子字符串:
>>> r=re.compile('(b+)')
>>> r.search('abbbc')
<_sre.SRE_Match object at 0x7f04af497af8>
>>> r.search('abbbc').group(0)
'bbb'
>>> r.sub('z', 'abbbc')
'azc'