>>> test = "This is my sample test blah blah http://t.co/pE6JSwG, hello all"
>>> re.sub('http://[^ ,]*', lambda t: "<a href='%s'>%s</a>" % (t.group(0), t.group(0)), test)
>>> This is my sample test blah blah <a href='http://t.co/pE6JSwG'>http://t.co/pE6JSwG</a>, hello all
Это работает, только если вы считаете символы, такие как запятая, и пробел допустимой точкой остановки для вашего URL.
В общем, вам, вероятно, не следует использовать регулярные выражения для сопоставления URL, поскольку может не быть хорошего способа узнать, когда заканчивается URL. Если вам гарантировано иметь строку с одинаковым форматом каждый раз, это решение будет работать. Вы также можете всегда получать URL одинаковой длины, в этом случае вы можете найти http и впоследствии собрать подстроку этой длины.