在Python中,如何进行字符串替换并检索替换的子字符串?

时间:2010-03-19 21:58:07

标签: python regex

在Perl中,我会写:

$x = "abbbc";
$x =~ s/(b+)/z/;
print "Replaced $1 and ended up with $x\n";
# "Replaced bbb and ended up with azc"

如何在Python中执行此操作 - 使用正则表达式字符串替换记录被替换的内容?

1 个答案:

答案 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'