Python 使用正则表达式提取字符串中的 URL
Python 使用正则表达式提取字符串中的 URL的例子
给定一个字符串,里面包含 URL 地址,需要我们使用正则表达式来获取字符串的 URL。
# Filename : example.py
# DateTime : 2020-07-20
# author by : www.lidihuo.com
import re
def Find(string):
# findall() 查找匹配正则表达式的字符串
url = re.findall('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', string)
return url
string = 'lidihuo 的网页地址为:https://www.lidihuo.com,baidu 的网页地址为:https://www.baidu.com'
print("urls: ", Find(string))
?: 说明:
匹配
x 但是不记住匹配项。这种括号叫作非捕获括号,使得你能够定义与正则表达式运算符一起使用的子表达式。看看这个例子
/(?:foo){1,2}/。如果表达式是
/foo{1,2}/,{1,2} 将只应用于 'foo' 的最后一个字符 'o'。如果使用非捕获括号,则 {1,2} 会应用于整个 'foo' 单词。
执行以上代码输出结果为:
urls: ['https://www.lidihuo.com', 'https://www.baidu.com']