Python: извлечение URL-адресов из строк с помощью регулярных выражений

Document 对象参考手册Python3 Примеры

Дана строка, содержащая 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']

Document 对象参考手册Python3 Примеры

Другие расширения