Кармани у струци за замену у Пајтону

При раду са методом sub, ако нешто треба ставити у карман у регуларном изразу, онда у струци за замену можете убацити садржај тог кармана тако што ћете написати двоструку косу црту \ и број кармана. На пример, \1 - први карман, \2 - други карман и тако даље.

Зашто је то потребно и како се то користи хајде да погледамо на примерима.

Пример

Хајде да нађемо све бројеве и уместо њих убацимо те исте бројеве, али у заградама. Зато ћемо све пронађене бројеве заменити њихма самима, али у заградама:

pythontxt = '1 23 456 xax'

res = re.sub('(\d+)', '(\1)', txt)
print(res)

Као резултат у променљиву ће се уписати следеће:

python'(1) (23) (456) xax'

Пример

Хајде да нађемо све струке које представљају бројеве са иксима око себе и заменимо те бројеве њима самима, али са '!' знаковима око себе:

pythontxt = 'x1x x23x x456x xax'

res = re.sub('x(\d+)x', '!\1!', txt)
print(res)

Као резултат у променљиву ће се уписати следеће:

python'!1! !23! !456! xax'

Пример

Хајде да решимо следећи задатак: дата је струка 'aaa@bbb ccc@ddd' - слова, затим знак мајмун, затим слова. Потребно је заменити места словима у подструци 'aaa@bbb' пре '@' и после:

pythontxt = 'aaa@bbb ccc@ddd'
res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt)

print(res)

Као резултат у променљиву ће се уписати следеће:

python'bbb@aaa ccc@ddd'

Практични задаци

Задание 1

Дата је струка:

pythontxt = '12 34 56 78'

Замените места цифрама у свим двоцифреним бројевима.

Задание 2

Дата је струка са датумом:

pythontxt = '31.12.2025'

Преобразујте овај датум у '2025.12.31'.