Вам, вероятно, будет лучше использовать встроенные функции Python для работы с URL-адресами. Предполагая, что вы останетесь со своим текущим регулярным выражением, я думаю, вы могли бы переписать это как:
from urlparse import urlsplit, urlunsplit
links = re.findall("(?:https?://|www\.|https?://www\.)[\S]+", text)
urls = [urlunsplit(urlsplit(link, 'http')) for link links]
Это должно совпадать с тем, что вы делаете в данный момент. Также имейте в виду, что поиск URL с использованием регулярных выражений несколько рискован, то есть это вернет www.google.com! с восклицательным знаком.