Автор оригинала: Python Examples.
Функция Python Re.findall ()
Функция Re.findall () Возвращает все не перекрывающиеся спички шаблона в строке. Функция возвращает все выводы в виде списка. Поиск происходит слева направо.
В этом руководстве мы узнаем, как использовать функцию Re.findall () с помощью примеров программ.
Синтаксис – Re.findall ()
Синтаксис функции Re.findall ()
re.findall(pattern, string, flags=0)
где
шаблон | [Обязательно] Шаблон, который должен быть найден в строке. |
нить | [Обязательно] Строка, в которой должна быть найдена шаблон. |
флаги | [Необязательно] Дополнительные флаги, такие как Re.ignorecase и т. Д. |
Возвращаемое значение
Функция возвращает объект списка.
Пример 1: Re.findall () – Подстрока в строке
В этом примере мы возьмем подстроку и строку. Мы найдем все не перекрывающиеся спички данной подстроки в строке с использованием функции Re.findall (). Мы распечатаем список, возвращаемое Findall ().
Python Program
import re pattern = 'abc' string = 'abcdefabcab' result = re.findall(pattern, string) print(result)
Выход
['abc', 'abc']
Пример 2: Re.findall () – Шаблон в строке
В этом примере мы возьмем шаблон и строку. Шаблон является непрерывным возникновением алфавитов. Мы найдем все не перекрывающиеся спички этой картины в строке с использованием функции Re.findall (). Мы распечатаем список, возвращаемое Findall ().
Python Program
import re pattern = '[a-z]+' string = 'abc---cab-efg_web' result = re.findall(pattern, string) print(result)
Выход
['abc', 'cab', 'efg', 'web']
Пример 3: re.findall () – не перекрывающиеся вхождения
В этом примере мы возьмем шаблон и строку, так что строка содержит перекрывающиеся вхождения шаблона. Функция findall () должна вернуть только не перекрывающиеся вхождения.
Python Program
import re pattern = 'aba' string = 'ababaiiaba' result = re.findall(pattern, string) print(result)
Выход
['aba', 'aba']
Пример 4: Re.findall () – Флаги
В этом примере мы возьмем шаблон и строку. Мы найдем матчи для шаблона в данной строке с дополнительным флагом.
Python Program
import re pattern = '[a-z]+' string = 'aBC---CAB-eFg_web' flags = re.IGNORECASE result = re.findall(pattern, string, flags) print(result)
Выход
['aBC', 'CAB', 'eFg', 'web']
Вы можете попробовать вышеуказанную программу Python без параметра FLAGS. Вы получите другой вывод, потому что в вышеуказанном коде мы сообщаем функцию findall () для игнорирования случая во время поиска совпадений для шаблона в строке с помощью параметра flags.
Резюме
В этом руководстве примеров Python мы узнали, как использовать функцию Re.findall (), чтобы получить все совпадения для данного шаблона в строке, с помощью примеров программ.