Как найти значение по шаблону в тексте на языке Python3?
Я использую библиотеку requests для получения контента. Что мне нужно сделать, что бы найти и сохранить все совпадения на странице по такому шаблону:
*@yandex.ru
*@gmail.com
*@mail.ru
Алан Гибизов, Ниже к ответу есть вариант, но как им воспользоваться - не понимаю!
У меня есть только пара предположений как это сделать и не рабочий код.
Я не понимаю как мне поможет этот метод. Если мне нужен полный адрес, и возможность работать с этим текстом. Т.е. обрезать его от попавшегося совпадения до знака из массива и сохранить этот адрес электронной почты.
#! /usr/bin/python3
# -*- coding: utf-8 -*-
string = '<div><p>Иванов Иван Иванович</p><a href="mailto:email@gmail.com">email@gmail.com</div>'
keys = {'@gmail.com','@yandex.ru','@mail.ru'}
for key in keys:
if key in string:
print(f'Найдено совпадение по шаблону "{key}"')
else:
print(f'Совпадений не найдено по шаблону "{key}"!')
В терминале получаю такой ответ:
usr ~ Рабочий стол Проекты Sendler ./test.py
[ OKAY ]Найдено совпадение по шаблону "@gmail.com"!
[ FAIL ] Совпадений не найдено по шаблону "@yandex.ru"!
[ FAIL ] Совпадений не найдено по шаблону "@mail.ru"!
И после каких либо изменений результат выводится в разном порядке:
usr ~ Рабочий стол Проекты Sendler ./test.py
[ FAIL ] Совпадений не найдено по шаблону "@mail.ru"
[ FAIL ] Совпадений не найдено по шаблону "@yandex.ru"
[ OKAY ] Найдено совпадение по шаблону "@gmail.com"
Этого момента я вообще не понял, ведь массив записан в определенном порядке. Как содержимое print() влияет на порядок перебора массива?