Python-da Ýerine goýýan setirde jibişikler
sub metoda işleýänimizde, regulýar ifadede
jibişige bir zat goýmak islän bolsak,
ýerine goýýan setirde bu jibişigiň mazmunyny
goýmak üçin iki göni çyzyk \ we
jibişigiň nomerini ýazýarys. Mysal üçin, \1 -
birinji jibişik, \2 - ikinji jibişik
we ş.m.
Bunyň näme üçin gerekdigini we ony nädip ulanyp bolýandygyny mysallar bilen göreli.
Mysal
Biz ähli sanlary tapalyň we olaryň ýerine şol sanlary, ýöne ýumruk möýňüşlerinde goýalyň. Bunun üçin tapylan ähli sanlary öz ýerine, ýöne möýňüşlerde ýerine goýýarys:
txt = '1 23 456 xax'
res = re.sub('(\d+)', '(\1)', txt)
print(res)
Netijede üýtgeýjide şu ýazylar:
'(1) (23) (456) xax'
Mysal
Gelin, daş-töweregi 'x' bilen gurşalan
ähli san setirlerini tapalyň we bu
sanlary öz ýerine, ýöne daş-töweregi
'!' bilen ýerine goýalyň:
txt = 'x1x x23x x456x xax'
res = re.sub('x(\d+)x', '!\1!', txt)
print(res)
Netijede üýtgeýjide şu ýazylar:
'!1! !23! !456! xax'
Mysal
Gelin, indiki meseläni çözeliň: setir berlen
'aaa@bbb ccc@ddd' - harp, soňra
'işgärçilik belgisi' ('@'), soňra harp. Biz
'aaa@bbb' setir bölegindäki
'@'-dan öň we soň bolan harplaryň
ýerlerini çalşyp goýmak isleýäris:
txt = 'aaa@bbb ccc@ddd'
res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt)
print(res)
Netijede üýtgeýjide şu ýazylar:
'bbb@aaa ccc@ddd'
Amaly meseleler
Setir berlen:
txt = '12 34 56 78'
Ähli iki sanly sanlaryň sanlarynyň ýerlerini çalşyp goýuň.
Sene bilen setir berlen:
txt = '31.12.2025'
Bu senäni '2025.12.31' görnüşine öwüriň.