re modulynyň finditer metodi
re modulynyň finditer metodi
setirdeki regulýar ifadäniň
ähli gabat gelişleriniň iterator-y gaýtarýar. Metodyň birinji parametrinde
regulýar ifadäni görkezýäris. Ikinji parametrde gözleýän
setirimizi belleýäris. Üçünji
hökmany bolmadyk parametrde flaglary belleýip bolýar.
Metod ähli gabat gelişleri çepden saga gözläp,
barlap geçýär.
Sintaksis
import re
re.finditer(regulýar ifadä, setir, [flaglar])
Mysal
Geliň, setirimizdeki sanlary ýazyjy ähli kiçi setirleri tapalyň:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Kody ýerine ýetirip alnan netije:
<callable_iterator object at 0x000002AA891300A0>
Mysal
Indi bolsa, öňki mysalda alan obýektimizi alýan
res üýtgeýjisini habar edeliň. Soňra ony
sikl bilen aýlanyp geçeliň:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Kody ýerine ýetirip, iki sany Match object obýektini alýarys:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Bu obýektler regulýar ifadä bilen ähli gabat gelişleriň baradaky maglumatlary tuple görnüşinde saklaýar. Ondan gabat gelişleri indeks boýunça çykaryp bilýäris:
for el in res:
print(el[0])
Kody ýerine ýetirip alnan netije:
'123'
'456'
Mysal
Daha aýdyňlyk üçin, gabat gelişleri gözleýänimizde karmany ulanaylyň. Sikl obýektlerini aýlanyp geçýänimizde, birinci gabat gelişi (noly karm hasaplanylýar) we onuň elementlerini, olaryň öz gezeginde karmalara bölünenlerini çykaryň:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
Kody ýerine ýetirip, noly karmy, ýagny tutuş kiçi setiri, we şol kiçi setirden birinji we ikinji nyşanlary alarys:
'12' '1' '2'
'45' '4' '5'
Şeýle-de serediň
-
findallmetodi,remodulynyň,
setirdeki ähli gabat gelişleriň sanawy gaýtarýar -
searchmetodi,remodulynyň,
setirde regulýar ifadä bilen birinji gabat gelişi gözleýär -
matchmetodi,remodulynyň,
setiriň başynda regulýar ifadä bilen gabat gelişi gözleýär -
fullmatchmetodi,remodulynyň,
setirde regulýar ifadä bilen ähli gabat gelişleri gözleýär -
Match objectobýekti,remodulynyň,
regulýar ifadä bilen gabat gelişleriň baradaky maglumatlary saklaýar -
splitmetodi,remodulynyň,
setiri görkezilen bölüji boýunça sanawa bölýär