Pythonda almashtirish qatoridagi cho'ntaklar
sub metodi bilan ishlaganda,
agar muntazam ifodada biror narsani cho'ntakka qo'yish kerak bo'lsa,
almashtirish qatorida bu cho'ntakning mazmunini
qo'sh chiziq \ va cho'ntak raqamini yozish orqali kiritish mumkin.
Misol uchun, \1 -
birinchi cho'ntak, \2 - ikkinchi cho'ntak
va hokazo.
Bu nima uchun kerak va undan qanday foydalanish kerak keling misollar orqali ko'rib chiqaylik.
Misol
Keling barcha raqamlarni topamiz va ularning o'rniga shu raqamlarni, lekin qavs ichiga olgan holda qo'yamiz. Buning uchun topilgan barcha raqamlarni o'zlari bilan, lekin qavs ichiga olgan holda almashtiramiz:
txt = '1 23 456 xax'
res = re.sub('(\d+)', '(\1)', txt)
print(res)
Natijada o'zgaruvchiga quyidagi yoziladi:
'(1) (23) (456) xax'
Misol
Keling atrofida 'x' lar bo'lgan barcha raqamli
qatorlarni topamiz va bu
raqamlarni ularning o'zi bilan, lekin '!' belgilari
atrofida almashtiramiz:
txt = 'x1x x23x x456x xax'
res = re.sub('x(\d+)x', '!\1!', txt)
print(res)
Natijada o'zgaruvchiga quyidagi yoziladi:
'!1! !23! !456! xax'
Misol
Keling quyidagi masalani yechamiz: berilgan qator
'aaa@bbb ccc@ddd' - harflar, keyin
@ belgisi, keyin yana harflar.
'aaa@bbb' qismidagi harflarni
'@' dan oldingi va keyingi qismlarda
o'rnini almashtirish kerak:
txt = 'aaa@bbb ccc@ddd'
res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt)
print(res)
Natijada o'zgaruvchiga quyidagi yoziladi:
'bbb@aaa ccc@ddd'
Amaliy masalalar
Berilgan qator:
txt = '12 34 56 78'
Barcha ikki xonali raqamlarning o'rnini almashtiring.
Sana berilgan qator:
txt = '31.12.2025'
Ushbu sanani '2025.12.31' ko'rinishiga o'zgartiring.