如何从 URL 中提取文件名以及附加的一些额外数据?

我正在尝试从下载 URL 中提取文件名,该 URL 不仅以文件名本身结尾,而且在文件名 https://some_website.com/folder/file_name.mkv?st=OyvPiQZL8HmbCkapHo-之后附加到 URL 的额外数据tLG&e=1571543844

我尝试在 python 中使用 os.path.basename。它包括文件名和额外内容本身,如上面的链接返回

文件名.mkv?st=OyvPiQZL8HmbCkapHo-tLg&e=1571543844

代替

文件名.mkv


心有法竹
浏览 154回答 2
2回答

蝴蝶不菲

urld = 'https://ragex.eu/home.html?lol=sdasd'returned_data = urld[urld.rfind('/') + 1: len(urld)]print(returned_data) #output : home.html?lol=sdasd好吧,我不是专家,但这里有一个更简单的方法。

一只萌萌小番薯

也许,[^/]+(?=\?st)可能工作正常。测试import restring = ' https://some_website.com/folder/file_name.mkv?st=OyvPiQZL8HmbCkapHo-tLg&e=1571543844'expression = r'[^/]+(?=\?st)'print(re.search(expression, string).group(0))输出file_name.mkv如果您想简化/修改/探索表达式,它已在regex101.com的右上角面板中进行了说明。如果您愿意,您还可以在此链接中观看它如何与一些示例输入匹配。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python