re.finditer(pattern, string, flags=0)
pattern — шаблон регулярного выражения.
pattern
string — строка для поиска.
string
flags — необязательные флаги (например, re.IGNORECASE).
flags
re.IGNORECASE
Находит все совпадения слева направо и возвращает итератор Match-объектов, даже если совпадений нет (пустой итератор).
Match
Каждый Match-объект содержит позиции (span(), start(), end()), текст совпадения (group()) и группы захвата.
span()
start()
end()
group()
Экономит память для больших текстов, так как не создаёт полный список сразу.
re.sub(pattern, repl, string, count=0, flags=0)
repl — строка замены, функция или ссылки на группы (\1, \g<name>).
repl
\1
\g<name>
string — исходная строка.
count — максимум замен (0 = все).
count
flags — флаги поведения (re.IGNORECASE и др.).
Заменяет все непересекающиеся совпадения шаблона слева направо и возвращает новую строку.
Если repl — функция, вызывается для каждого Match-объекта и должна вернуть строку замены.
Поддерживает ссылки на группы: \1, \g<1>, \g<name> для захваченных частей шаблона.
\g<1>
Если совпадений нет, возвращает исходную строку без изменений.
re.split(pattern, string, maxsplit=0, flags=0)
pattern — шаблон регулярного выражения для разделителей.
string — строка для разделения.
maxsplit=0 — максимум делений (0 = все).
maxsplit=0
flags — флаги поведения (например, re.IGNORECASE).
Разделяет строку по всем вхождениям шаблона, возвращая список частей между ними.
Если в шаблоне есть захватывающие группы (скобки), сами разделители тоже включаются в результат.
При maxsplit > 0 выполняет только указанное количество делений.
maxsplit > 0
Если совпадений нет, возвращает список с исходной строкой.
В отличие от str.split(), использует регулярные выражения для сложных разделителей.
str.split()
В отличие от re.findall(), возвращает разделённые части, а не сами совпадения.
re.findall()
В отличие от re.sub(), удаляет разделители, а не заменяет их.
re.sub()
re.split()
1000 ms 256 Mb