Sakke in die Vervangingsreeks in Python
Wanneer jy met die sub metode werk, as
jy iets in 'n sak in die gereelde uitdrukking wil plaas,
kan jy die inhoud van daardie sak in die vervangingsreeks invoeg
deur 'n dubbele skuinsstreep \ te skryf
gevolg deur die saknommer. Byvoorbeeld, \1 -
die eerste sak, \2 - die tweede sak
en so verder.
Kom ons kyk na voorbeelde om te sien hoekom dit nuttig is en hoe om dit te gebruik.
Voorbeeld
Kom ons vind alle getalle en plaas hulle met dieselfde getalle, maar tussen ronde hakies. Om dit te doen, vervang ons alle gevonde getalle met hulself, maar tussen hakies:
txt = '1 23 456 xax'
res = re.sub('(\d+)', '(\1)', txt)
print(res)
Die resultaat wat in die veranderlike gestoor sal word, is die volgende:
'(1) (23) (456) xax'
Voorbeeld
Kom ons vind alle stringe wat
getalle met 'x'e rondom voorstel, en vervang hierdie
getalle met hulself, maar met '!' tekens
daaromheen:
txt = 'x1x x23x x456x xax'
res = re.sub('x(\d+)x', '!\1!', txt)
print(res)
Die resultaat wat in die veranderlike gestoor sal word, is die volgende:
'!1! !23! !456! xax'
Voorbeeld
Kom ons los die volgende probleem op: gegee 'n string
'aaa@bbb ccc@ddd' - letters, dan
'n 'at'-teken, dan letters. Ons moet die letters
in die substryng 'aaa@bbb' voor
'@' en daarna omruil:
txt = 'aaa@bbb ccc@ddd'
res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt)
print(res)
Die resultaat wat in die veranderlike gestoor sal word, is die volgende:
'bbb@aaa ccc@ddd'
Praktiese Take
Gegee die string:
txt = '12 34 56 78'
Ruil die syfers om in al die twee-syfer getalle.
Gegee 'n string met 'n datum:
txt = '31.12.2025'
Skakel hierdie datum om na '2025.12.31'.