Функция поиска regex finditer() в Python с примерами
Функция regex finditer() используется в Python для поиска всех совпадений в строке и возврата итератора, который возвращает соответствующие объекты.
Что такое функция поиска в регулярных выражениях в Python?
Функция finditer() в Python сопоставляет шаблон в строке и возвращает итератор, который возвращает объекты Match всех непересекающихся совпадений.
Ниже показан синтаксис функции finditer():
re.finditer(pattern, string, flags=0)
В этом синтаксисе:
- pattern — это регулярное выражение, которое вы хотите найти в строке.
- string — это входная строка.
- flags — является необязательным параметром и по умолчанию равен нулю. Параметр flags принимает один или несколько флагов регулярных выражений и изменяет способ соответствия механизма регулярных выражений шаблону.
Если поиск успешен, функция finditer() возвращает итератор, возвращающий объекты Match. В противном случае метод findit() также возвращает итератор, который не возвращает объект Match.
Пример поиска с функцией finditer() в Python
В следующем примере функция finditer() используется для поиска всех гласных в строке:
import re s = 'Readability counts.' pattern = r'[aeoui]' matches = re.finditer(pattern, s) for match in matches: print(match)
Выход:
<re.Match object; span=(1, 2), match='e'> <re.Match object; span=(2, 3), match='a'> <re.Match object; span=(4, 5), match='a'> <re.Match object; span=(6, 7), match='i'> <re.Match object; span=(8, 9), match='i'> <re.Match object; span=(13, 14), match='o'> <re.Match object; span=(14, 15), match='u'>