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