Moduļa re finditer metode
Moduļa re metode finditer
atgriež iteratoru visām regulārās izteiksmes
atbilstībām virknē. Metodes pirmajā parametrā norādām
regulāro izteiksmi. Otrajā parametrā norādām
virkni, kurā meklējam regulāro izteiksmi. Trešajā
neobligātajā parametrā var norādīt karogus.
Metode pārbauda visas atbilstības, meklējot tās
no kreisās puses uz labo.
Sintakse
import re
re.finditer(regulārā izteiksme, virkne, [karogi])
Piemērs
Atradīsim visas apakšvirknes ar cipariem mūsu virknē:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Koda izpildes rezultāts:
<callable_iterator object at 0x000002AA891300A0>
Piemērs
Un tagad deklarēsim mainīgo res,
kura vērtība būs objekts, kas iegūts
iepriekšējā piemērā. Tad iziesim to cauri
ciklā:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Pēc koda izpildes mēs iegūsim divus Match objektus:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Šie objekti satur informāciju par visām atbilstībām ar regulāro izteiksmi korteža veidā. Mēs varam izvadīt no tiem atbilstības pēc indeksa:
for el in res:
print(el[0])
Koda izpildes rezultāts:
'123'
'456'
Piemērs
Lai iegūtu lielāku skaidrību, meklējot atbilstības izmantosim grupās. Un izejot cauri objektiem ciklā, izvadīsim pirmo atbilstību (tā tiks uzskatīta par nulles grupā), kā arī tās elementus, arī savukārt izkliedētus pa grupām:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
Pēc koda izpildes mēs iegūsim nulles grupā, t.i. visu apakšvirkni, kā arī pirmo un otro simbolu no šīs apakšvirknes:
'12' '1' '2'
'45' '4' '5'
Skatiet arī
-
metode
findallmoduļare,
kas atgriež sarakstu no visām atbilstībām virknē -
metode
searchmoduļare,
kas meklē pirmo atbilstību ar regulāro izteiksmi virknē -
metode
matchmoduļare,
kas meklē atbilstību ar regulāro izteiksmi virknes sākumā -
metode
fullmatchmoduļare,
kas meklē visas atbilstības ar regulāro izteiksmi virknē -
objekts
Match objectmoduļare,
kas satur informāciju par atbilstībām ar regulāro izteiksmi -
metode
splitmoduļare,
kas sadala virkni sarakstā pēc norādītā atdalītāja