re մոդուլի finditer մեթոդը

re մոդուլի finditer մեթոդը վերադարձնում է իտերատոր տողի մեջ կանոնավոր արտահայտության բոլոր համընկնումների համար: Մեթոդի առաջին պարամետրում նշում ենք կանոնավոր արտահայտությունը: Երկրորդ պարամետրում նշում ենք այն տողը, որի մեջ փնտրում ենք կանոնավոր արտահայտությունը: Երրորդ ոչ պարտադիր պարամետրում կարելի է նշել ֆլագները: Մեթոդը ստուգում է բոլոր համընկնումները՝ փնտրելով դրանք ձախից աջ:

Շարահյուսություն

pythonimport re

re.finditer(կանոնավոր_արտահայտություն, տող, [ֆլագներ])

Օրինակ

Եկեք գտնենք մեր տողի մեջ թվեր պարունակող բոլոր ենթատողերը:

pythontxt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)

print(res)

Կոդի կատարման արդյունքը:

python<callable_iterator object at 0x000002AA891300A0>

Օրինակ

Իսկ հիմա հայտարարենք res փոփոխականը, որի արժեքը կլինի նախորդ օրինակում ստացած մեր օբյեկտը: Ապա այն ցիկլով դուրս բերենք:

pythontxt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)

for el in res:
  print(el)

Կոդի կատարումից հետո մենք կստանանք երկու Match օբյեկտ:

python<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>

Այս օբյեկտները պարունակում են տեղեկություն բոլոր կանոնավոր արտահայտության հետ համընկնումների մասին՝ թյուպլի տեսքով: Մենք կարող ենք դրանցից դուրս բերել համընկնումները ըստ ինդեքսի:

pythonfor el in res:
  print(el[0])

Կոդի կատարման արդյունքը:

python'123'
'456'

Օրինակ

Ավելի պարզության համար եկեք համընկնումների որոնման ժամանակ օգտագործենք խմբեր: Իսկ օբյեկտների ցիկլով դուրս բերելու ժամանակ դուրս բերենք առաջին համընկնումը (այն կհամարվի զրոյական խումբ), ինչպես նաև դրա էլեմենտները, որոնք իրենց հերթին բաշխված են ըստ խմբերի:

pythontxt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)

for el in res:
  print(el[0], el[1], el[2])

Կոդի կատարումից հետո մենք կստանանք զրոյական խումբը, այսինքն ամբողջ ենթատողը, ինչպես նաև առաջին ու երկրորդ սիմվոլները այդ ենթատողից:

python'12' '1' '2'
'45' '4' '5'

Տես նաև

  • findall մեթոդը re մոդուլի,
    որն վերադարձնում է տողի մեջ բոլոր համընկնումների ցուցակը
  • search մեթոդը re մոդուլի,
    որն փնտրում է առաջին համընկնումը կանոնավոր արտահայտության հետ տողի մեջ
  • match մեթոդը re մոդուլի,
    որն փնտրում է կանոնավոր արտահայտության հետ համընկնում տողի սկզբում
  • fullmatch մեթոդը re մոդուլի,
    որն փնտրում է բոլոր համընկնումները կանոնավոր արտահայտության հետ տողի մեջ
  • Match object օբյեկտը re մոդուլի,
    որն պարունակում է տեղեկություն կանոնավոր արտահայտության հետ համընկնումների մասին
  • split մեթոդը re մոդուլի,
    որը բաժանում է տողը ցուցակի ըստ նշված բաժանարարի