Мне нужно сопоставить два случая одним reg-выражением и выполнить замену
'long.file.name.jpg' -> 'long.file.name_suff.jpg'
'long.file.name_a.jpg' -> 'long.file.name_suff.jpg'
Я пытаюсь сделать следующее
re.sub('(\_a)?\.[^\.]*$' , '_suff.',"long.file.name.jpg")
Но это сокращение расширения «.jpg», и я получаю
длинное.имя.файла_suff. вместо long.file.name_suff.jpg Я понимаю, что это из-за части [^.]*$, но я не могу ее исключить, потому что мне нужно найти последнее вхождение '_a' для замены или последнего '.'
Есть ли способ заменить только часть матча?
(\\_a)?
- person Amarghosh   schedule 04.05.2010