Как заменить последнее найденное слово, используя регулярное выражение в python - PullRequest
0 голосов
/ 20 февраля 2020

Используя функцию регулярного выражения в python я не смог заменить слова / предложения, которые повторяются.

Из приведенного ниже примера, Как заменить слово, которое повторяется несколько раз, например, Питер Пайпер повторяется более одного раза в заявлении и о том, как заменить последнего Питера Пайпера:

ran_ln = "Питер Пайпер выбрал клев из маринованного перца Пек из маринованного перца выбрал Питер Пайпер Если выбрал Питер Пайпер Пек маринованных перцев. Где пек маринованных перцев, которые выбрал Питер Пайпер? " Слово Пайпер заменено.

Заранее спасибо.

1 Ответ

1 голос
/ 20 февраля 2020

Отрицательный взгляд будет вашим другом.

Обратите также внимание, что необработанные строки рекомендуется использовать в шаблонах регулярных выражений.

out =  re.sub(r'(Peter Piper)(?:(?!.*\1))'gm, 'aaaaa', ran_ln)

Редактировать: удаленная вводящая в заблуждение точка, как и предлагал Диадистис.

...