В python, пытаясь заменить все вхождения строки, найденной с помощью регулярных выражений, таких как:
'10am 11pm 13am 14pm 4am'
становится
'10 am 11 pm 13 am 14 pm 4 am'
Я пытался
re.sub('([0-9].*)am(.*)', r'\1 am \2', ddata)
Но это только заменяет последнее вхождение.
и
import re
regex = re.compile('([0-9].*)am+', re.S)
myfile = '10am 11pm 13am 14pm 4am'
myfile2 = regex.sub(lambda m: m.group().replace(r'am',r" am ",1), myfile)
print(myfile2)
заменяет только первое вхождение 'am'
Ожидаемые результаты для меня '10 am 11pm 13 am 14pm 4 am'