如何在Python中使用正则表达式从url提取特定模式?

2024-06-01 08:04:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些类似下面的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文件名iesql_output1574414532.89.zipsql_output1574414532.89.zipsql_output1574414532.89.zip

现在我可以使用一个简单的split来获取文件名,但是如果您观察的话,zip文件前面的目录名会发生变化,比如nikasrolr等等

所以我想使用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)

但是match作为None出现。我做错了什么


Tags: httpsrecomsqldatastring文件名match
1条回答
网友
1楼 · 发布于 2024-06-01 08:04:49

模式r'^sql\.zip$'只匹配一个字符串:“sql.zip”

出于您的目的,您需要类似于sql.+zip$的内容,或者,如果您希望在文件名之前的URL中遇到sql字符串,请将其更改为sql[^/]+zip$

相关问题 更多 >