Вы можете использовать re.sub
со ссылками на группы.Для этого сначала оберните десятичные дроби в регулярном выражении в группы (...)
, а затем используйте \1
и \2
в строке замены для ссылки на эти группы.
>>> s
'I used the default "2.00" quality setting in Premiere 2.0.1, and specified a key frame every ten frames.'
>>> re.sub(r'(\d*)\.(\d+)', r'\1,\2', s)
'I used the default "2,00" quality setting in Premiere 2,0,1, and specified a key frame every ten frames.'
Также обратите внимание, что, сделав.
необязательно \.?
регулярное выражение также может добавить ,
к многозначным числам, которые вообще не имеют .
, поэтому лучше удалить ?
.
Однако ИМХО.
в "Premiere 2.0.1" следует заменить , а не на ,
.Для этого вы можете использовать отрицательные взгляды и взгляды, чтобы за номером не следовала другая цифра или точка.
>>> re.sub(r'(?<![\d.])(\d*)\.(\d+)(?![\d.])', r"\1,\2", s)
'I used the default "2,00" quality setting in Premiere 2.0.1, and specified a key frame every ten frames.'