Методи finditer модули re
Методи finditer модули re
такрориҳои ҳамаи мутобиқатҳо бо ибораи оддӣ
дар сатр бармегардонад. Дар параметри якуми метод
ибораи оддиро муайян мекунем.
Дар параметри дуюм сатрро муайян мекунем,
ки дар он ибораи оддиро меҷӯем. Дар параметри сюми
ихтиёрӣ метавонем парчамҳо-ро муайян кунем.
Метод ҳамаи мутобиқатҳоро тафтиш мекунад, ҳангоми ҷустуҷӯи онҳо
аз чап ба рост.
Синтаксис
import re
re.finditer(ибораи_оддӣ, сатр, [парчамҳо])
Намуна
Биёед ҳамаи зерсатрҳо бо рақамҳоро дар сатри худ пайдо кунем:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Натиҷаи иҷрои код:
<callable_iterator object at 0x000002AA891300A0>
Намуна
Ва акнун биёед тағирёбандаи res-ро эълон кунем,
қимати он объектест, ки ба даст овардаем
дар намунаи қаблӣ. Сипас онро бо давр такрор кунем:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Пас аз иҷрои код мо ду объект Match object мегирем:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Ин объектҳо маълумотро дар бораи ҳамаи мутобиқатҳо бо ибораи оддӣ дар шакли кортеж дар бар мегиранд. Мо метавонем аз онҳо мутобиқатҳоро бо индекс барорем:
for el in res:
print(el[0])
Натиҷаи иҷрои код:
'123'
'456'
Намуна
Барои равшантар будан, биёед ҳангоми ҷустуҷӯи мутобиқатҳо кисаҳоро истифода барем. Ва ҳангоми такрори объектҳои давр якум мутобиқатро (он ҳамчун кисаи сифрӣ ҳисоб карда мешавад) барорем, ва инчунин унсурҳои онро, низ ба навбати худ дар кисаҳо паҳн кардашуда:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
Пас аз иҷрои код мо кисаи сифрӣ, яъне ҳамаи зерсатрро, ва инчунин якум ва дуюм аломатҳоро аз ин зерсатр мегирем:
'12' '1' '2'
'45' '4' '5'
Ҳамчунин нигаред
-
методи
findallмодулиre,
ки рӯйхате аз ҳамаи мутобиқатҳо дар сатр бармегардонад -
методи
searchмодулиre,
ки якумин мутобиқатро бо ибораи оддӣ дар сатр меҷӯяд -
методи
matchмодулиre,
ки мутобиқатро бо ибораи оддӣ дар аввали сатр меҷӯяд -
методи
fullmatchмодулиre,
ки ҳамаи мутобиқатҳоро бо ибораи оддӣ дар сатр меҷӯяд -
объекти
Match objectмодулиre,
ки маълумотро дар бораи мутобиқатҳо бо ибораи оддӣ дар бар мегирад -
методи
splitмодулиre,
ки сатрро ба рӯйхат аз рӯи ҷудокунандаи муайянкардашуда мекашад