Xhepat në vargun e zëvendësimit në Python
Gjatë punës me metodën sub, nëse
diçka duhet të vendoset në xhep në shprehjen e rregullt,
atëherë në vargun e zëvendësimit mund të futni përmbajtjen
e atij xhepi duke shkruar kthinë të dyfishtë \
dhe numrin e xhepit. Për shembull, \1 -
xhepi i parë, \2 - xhepi i dytë
e kështu me radhë.
Pse është e nevojshme kjo dhe si të përdoret le ta shohim me shembuj.
Shembull
Le të gjejmë të gjithë numrat dhe në vend të tyre të vendosim të njëjtët numra, por në kllapa të rrumbullakëta. Për këtë, të gjithë numrat e gjetur i zëvendësojmë me veten e tyre, por në kllapa:
txt = '1 23 456 xax'
res = re.sub('(\d+)', '(\1)', txt)
print(res)
Si rezultat, në variabël do të shkruhet sa vijon:
'(1) (23) (456) xax'
Shembull
Le të gjejmë të gjithë vargjet që përfaqësojnë
numra me ikse rreth e rrotull dhe t'i zëvendësojmë këta
numra me veten e tyre, por me shenja '!'
përreth:
txt = 'x1x x23x x456x xax'
res = re.sub('x(\d+)x', '!\1!', txt)
print(res)
Si rezultat, në variabël do të shkruhet sa vijon:
'!1! !23! !456! xax'
Shembull
Le të zgjidhim problemin e mëposhtëm: jepet një varg
'aaa@bbb ccc@ddd' - shkronja, pastaj
'@', pastaj shkronja. Duhet të ndërrohen vendet
e shkronjave në nënvargun 'aaa@bbb' para
'@' dhe pas:
txt = 'aaa@bbb ccc@ddd'
res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt)
print(res)
Si rezultat, në variabël do të shkruhet sa vijon:
'bbb@aaa ccc@ddd'
Detyra praktike
Jepet një varg:
txt = '12 34 56 78'
Ndrrojeni vendet e shifrave në të gjithë numrat dyshifrorë.
Jepet një varg me datë:
txt = '31.12.2025'
Shndërrojeni këtë datë në '2025.12.31'.