Не знаю, какой из них будет быстрее или лучше, но вот тот, который использует регулярное выражение:
import re
urls = 'albatross.org,boogaloo.boolean.net,bedei9.paralex.zenoparadox.herc.gr,takeawalkon.the.wildside,fuzzy.logic.it,bronzeandiron.age,areyou.serious,mydom.dom.net,hun.com'
regex = re.compile('''[[a-zA-Z0-9\-\.]+\.]*[a-zA-Z0-9\-]{2,4}\.[^\.\,]+''')
url_list = regex.findall(urls)
print(url_list)
Примечание: Я использовал re.compile, но если вы только анализируете егоОднажды вам это не нужно, и вы можете просто выполнить re.findall (patern, urls) и оставить его одним слоем (после импорта, конечно):
url_list = re.findall('''[[a-zA-Z0-9\-\.]+\.]*[a-zA-Z0-9\-]{2,4}\.[^\.\,]+''', urls)
Я также изменил строку, которую вы далиубедитесь, что он обработал несколько повторов abc.abd.abdcde,bdc...
.
Если какой-то гуру-регекс наблюдает, и вы думаете, что вы можете добиться большего успеха, пожалуйста, опубликуйте его, я хотел бы получить более быстрое / более точное решение:).
Также я хотел бы узнать от гуру питонов, какой метод быстрее в этом случае, а какой лучше обрабатывает большие строки.
Должен ли я опубликовать вопрос, спрашивающий об этом?:)