В Python, как я могу заменить строку И извлечь замененную подстроку? - PullRequest
2 голосов
/ 20 марта 2010

В 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 Ответ

6 голосов
/ 20 марта 2010

Python не возвращает одновременно совпадение и подстановку.Вызов group(0) для возвращенного объекта Match найдет соответствующую подстроку:

>>> r=re.compile('(b+)')
>>> r.search('abbbc')
<_sre.SRE_Match object at 0x7f04af497af8>
>>> r.search('abbbc').group(0)
'bbb'
>>> r.sub('z', 'abbbc')
'azc'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...