Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中使用正则表达式从url提取特定模式?_Python_Regex - Fatal编程技术网

如何在Python中使用正则表达式从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

我有一些类似下面的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 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$