在Perl中,我会写:

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

在Python中如何做到这一点——做一个正则表达式字符串替换并记录被替换的字符串是什么?

最佳答案

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'

关于python - 在Python中,如何进行字符串替换并检索替换的子字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2480841/

10-11 22:35
查看更多