2016-06-27 6 views
-3

Не могли бы вы помочь мне использовать "суб", чтобы изменить число этих выражений:Treat регулярное выражение между штрихами

& AFL-03-123456

& AFL-01-12345

& AFL-02-123

контекст: Samsung-J7-дуэты-двухчиповое-desbloqueado-OI-андроида-5,1-Tela-5.5-16gb-Wi-Fi-4g-камеры 13 Мпикс-Бранку & AFL-03-171644black

При необходимости заменить число после второго тира для других чисел (скажем, 987654).

Число после второго тире, как вы можете видеть в примерах, может варьироваться в количестве цифр, но они всегда являются числами.

Цифры после первой тире всегда 0X (X = 1,2 или 3).

Примеры, которые я дал, являются частью больших строк, поэтому другие «-» и «&» могут появляться в любом месте в строке, включительно несколько раз.

+0

См http://stackoverflow.com/questions/4293460/how-to-add-custom-parameters-to-an-url-query-string-with -python –

+0

@ WiktorStribiżew Спасибо, Виктор, я никогда не видел ничего подобного, поэтому я пытался найти решение с регулярным выражением. – leo04

ответ

0

(?<=&AFL-\d\d-)(\d+) Будет соответствовать цифрам, которые вы хотите заменить, используя положительный lookbehind, который обеспечивает &AFL-XX-, но не соответствует им.

Объедините это с re.sub()

re.sub(r"(?<=&AFL-\d\d-)(\d+)", string_to_fix, digits_you_want)

Смежные вопросы