如何在Python中使用正则表达式从url提取特定模式?
我有一些类似下面的URL如何在Python中使用正则表达式从url提取特定模式?,python,regex,Python,Regex,我有一些类似下面的URL https://data.hova.com/strap/nik/sql_output1574414532.89.zip https://data.hova.com/strap/asr/sql_output1574414532.89.zip https://data.hova.com/strap/olr/sql_output1574414532.89.zip 现在我只想提取zip文件名,即sql\u output1574414532.89.zip,sql\u out
https://data.hova.com/strap/nik/sql_output1574414532.89.zip
https://data.hova.com/strap/asr/sql_output1574414532.89.zip
https://data.hova.com/strap/olr/sql_output1574414532.89.zip
现在我只想提取zip
文件名,即sql\u output1574414532.89.zip
,sql\u output1574414532.89.zip
,sql\u output157414532.89.zip
现在我可以使用一个简单的split
来获取文件名,但是如果你观察的话,zip
文件前面的目录名会发生变化,比如nik
,asr
,olr
等等
所以我想使用regex
,这样我就只看那些以sql开头,以zip结尾的东西
这就是我所做的
import re
string = "https://data.hova.com/strap/nik/sql_output1574414532.89.zip"
pattern = r'^sql\.zip$'
match = re.search(pattern, string)
print(match)
但是
匹配
的结果是无
。我做错了什么?模式r'^sql\.zip$”
只匹配一个字符串:“sql.zip”
出于您的目的,您需要类似于sql.+zip$
,或者,如果您希望在文件名之前的URL中遇到sql
字符串,请将其更改为sql[^/]+zip$