Рубрики
Без рубрики

Python re.findall ()

Автор оригинала: 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 (), чтобы получить все совпадения для данного шаблона в строке, с помощью примеров программ.