re.findall в Python: поиск всех совпадений
Разбор функции re.findall() в Python
Модуль re в Python представляет собой инструмент для работы с регулярными выражениями. В частности, функция re.findall() используется для поиска всех непересекающихся совпадений регулярного выражения в строке и возвращения их в виде списка.
Для начала работы с re.findall() мы должны импортировать модуль re:
import re
Затем мы можем использовать функцию re.findall() для поиска совпадений. Она принимает два аргумента: регулярное выражение и строку, в которой мы ищем совпадения. Рассмотрим пример:
text = "Hello, my name is John. I live in New York. My email is john@example.com and my friend's email is jane@example.com."
emails = re.findall(r'\b\w+@\w+\.\w+\b', text)
print(emails)
В данном примере мы ищем все адреса электронной почты в тексте. Регулярное выражение r'\b\w+@\w+\.\w+\b' означает следующее:
\bуказывает на границу слова\w+означает один или более символов слова@указывает на символ @\w+означает один или более символов слова\.указывает на символ точки\w+означает один или более символов слова\bуказывает на границу слова
Если мы запускаем данный код, то получим следующий результат:
['john@example.com', 'jane@example.com']
Таким образом, функция re.findall() вернула все найденные адреса электронной почты в виде списка.
Кроме того, re.findall() может быть использована с каким угодно регулярным выражением в Python. Например, вы можете искать все слова, начинающиеся со строчной буквы:
text = "Python is a powerful and versatile programming language."
words = re.findall(r'\b[a-z]\w+\b', text)
print(words)
В результате выполнения этого кода мы получим:
['is', 'a', 'powerful', 'and', 'versatile', 'programming', 'language']
Таким образом, re.findall() вернула список всех слов, начинающихся со строчной буквы.
В заключение, функция re.findall() в Python представляет собой мощный инструмент для поиска совпадений по регулярным выражениям в строках. Она возвращает все найденные совпадения в виде списка, что позволяет легко обрабатывать результаты для дальнейшего использования.