Неполадки, которые необходимо исправить:
x
- это сама строка, почему вы зацикливаетесь на ней с for line in x
?
[a-z]{0-9}
- пытается охватить только алфавитные символы, хотя и неправильно (может быть {0,9}
). Диапазон символов должен составлять [a-z0-9]+
или, по крайней мере, - [a-z]+
(в зависимости от первоначального намерения)
- точек / периодов
.
следует экранировать с помощью обратной косой черты \.
Фиксированная версия (упрощенная версия):
import re
x = 'my website name is www.algoexpert.com and i have other website too'
z = re.findall('\S+\.[a-z0-9]+\.\S+', x.strip())
print(z) # ['www.algoexpert.com']