Python: извлечение URL-адресов из строк с помощью регулярных выражений
Дана строка, содержащая URL-адреса, нам нужно использовать регулярные выражения, чтобы извлечь URL-адреса из строки.
Пример
import re
def Find(string):
# findall() находит строки, соответствующие регулярному выражению
url = re.findall('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', string)
return url
string = 'Веб-адрес Example: https://www.example.com, веб-адрес Google: https://www.google.com'
print("Urls: ", Find(string))
?:Пояснение:
(?:x)
совпадаетx, но не запоминает совпадение. Такой вид скобок называется незахватывающими скобками, которые позволяют определять подвыражения для использования с операторами регулярных выражений. Посмотрите этот пример/(?:foo){1,2}/. Если выражение имеет вид/foo{1,2}/, {1,2}будет применяться только к последнему символу 'o' в 'foo'. Если используются незахватывающие скобки, то {1,2} будет применяться ко всему слову 'foo'.
Выполнение приведенного выше кода дает следующий вывод:
Urls: ['https://www.example.com', 'https://www.google.com']Другие расширения
Python3 Примеры