Можно выполнить поиск «слов», содержащих :
, а затем передать их в urlparse
(переименованный в urllib.parse
в Python 3.0 и новее), чтобы проверить, являются ли они действительными URL-адресами.
Пример:
possible_urls = re.findall(r'\S+:\S+', text)
Если вы хотите ограничить себя только URL-адресами, начинающимися с http://
или https://
(или чем-то еще, что вы хотите разрешить), вы также можете сделать это с помощью регулярных выраженийНапример:
possible_urls = re.findall(r'https?://\S+', text)
Вы также можете использовать некоторые эвристические методы для определения того, где начинается и заканчивается URL-адрес, поскольку иногда люди добавляют знаки препинания в URL-адреса, давая новые действительные, но непреднамеренно неправильные URL-адреса, например:
Вы уже видели новый облик http://example.com/? Это общий грабеж http://example.org/!
Здесь пунктуация после URL не предназначена для частиURL.Из автоматически добавленных ссылок в вышеприведенном тексте видно, что StackOverflow реализует такую эвристику.