hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..

Regex — Как из строки получить адрес сайта?

Есть много таких строк:
www.site.ru      sale@site.ru +7 926 33-2222-11123 Москва

Мне нужно достать оттуда адрес сайта. Сайты могут быть такими:
https://www.site.ru
site.ru <-- тут хттп.site.ru, просто парсер хабра немного портит ссылки
site.ru
www.site.ru

Искал в google(и ru и eng) по пять страниц прошел, далее смысла нет. Половина регулярок не работает. 90% из работающих ищут с https или http.

PS: Порядок данных в файле разный.
PS: Придумал еще так:
сплитить строку по пробелу, далее strip(), далее проверять каждый элемент списка на наличие точки и отсутствии собачки? Что думаете по этому поводу? Мне в принципе на один раз, ведь данные уже загружены, сейчас обрабатываю. Или регулярку, что лучше?
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
hottabxp
@hottabxp Автор вопроса
Сначала мы жили бедно, а потом нас обокрали..
2,5 часа убил на регулярки, но так ничего и не вышло. Вот логически подумал, и за 1 минуту накидал:
string = 'www.site.ru      sale@site.ru +7 926 33-2222-11123 Москва'

contacts = string.split()

for contact in contacts:
	if '.' in contact and not '@' in contact:
		www = contact
print(www)

Больше 1K строк, и не одного промаха! Да, тут как в том анекдоте, теперь у вас 2 проблемы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы