Мне нужно сопоставить два случая одним выражением 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', и я получаю
long.file.name_suff. вместо long.file.name_suff.jpg
Я понимаю, что это из-за [^.] * $ Part, но я не могу исключить это, потому что
Я должен найти последнее вхождение '_a' для замены или последнего '.'
Есть ли способ заменить только часть матча?