re modulunun finditer metodu
re modulunun finditer metodu
bir setrde regex ifadesi ile
butun uygunluqlarin iteratorunu qaytarir. Metodun birinci parametrinde
regex ifadesini teyin edirik. Ikinci parametrde
regex ifadesini axtaracagimiz setri teyin edirik. Ucuncu
isteysen parametrde flaglar teyin edile biler.
Metod butun uygunluqlari yoxlayaraq, onlari
soldan saga dogru axtarir.
Sintaksis
import re
re.finditer(regex, setr, [flaglar])
Numune
Gelin setrimizdeki butun reqemlerle olan alt setrleri tapaq:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Kodu isletdikden sonra alinacaq netice:
<callable_iterator object at 0x000002AA891300A0>
Numune
Indi ise res deyisenini elan edek,
qiymeti ise evvelki numunede elde etdiyimiz
obyekt olsun. Sonra onu bir dongu ile edek:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Kodu isletdikden sonra biz iki Match object elde edeceyik:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Bu obyektler regex ifadesi ile butun uygunluqlar haqqinda melumati kortec seklinde ehtiva edir. Biz onlardan uygunluqlari indeksle cixara bilerik:
for el in res:
print(el[0])
Kodu isletdikden sonra alinacaq netice:
'123'
'456'
Numune
Daha aydin gosterim ucun uygunluqlari axtararken qruplardan istifade edek. Dongude ise obyektleri ederek birinci uygunlugu (o, sifirinci qrup sayilacaq), hemcinin onun elementlerini, oz novbesinde qruplara ayrilmis sekilde cixardaq:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
Kodu isletdikden sonra biz sifirinci qrupu, yeni butun alt setri, hemcinin birinci ve ikinci simvolu bu alt setrden elde edeceyik:
'12' '1' '2'
'45' '4' '5'
Baxin, hemcinin
-
findallmetoduremodulunun,
setrdeki butun uygunluqlarin listini qaytarir -
searchmetoduremodulunun,
setrde regex ifadesi ile ilk uygunlugu axtarir -
matchmetoduremodulunun,
setrin evvelinde regex ifadesi ile uygunlugu axtarir -
fullmatchmetoduremodulunun,
setrde regex ifadesi ile butun uygunluqlari axtarir -
Match objectobyektiremodulunun,
regex ifadesi ile uygunluqlar haqqinda melumat ehtiva edir -
splitmetoduremodulunun,
setri gosterilen ayirici ile liste bolur