除文件名和扩展名外,我如何选择Url中的所有内容?

时间:2017-01-28 07:12:02

标签: python regex find

https://fire.vimeocdn.com/1485599447-0xf546ac1afe7bce06fa5153973a8b85b1c45051d3/159463108/video/499604330/playlist.m3u8

我想包括除 playlist.m3u8

以外的所有内容
(playlist.[^.]*)

正在选择" playlist.m3u8",我需要完全相反。

这是一个演示。 https://regex101.com/r/RONA65/1

3 个答案:

答案 0 :(得分:1)

您可以使用积极向前看:

(.*)(?=playlist\.[^.]*)

演示:

https://regex101.com/r/RONA65/4

或者您也可以这样尝试:

.*\/

演示:

https://regex101.com/r/RONA65/2

正则表达式:

.*\/选择一直到最后/

答案 1 :(得分:0)

您可以使用拆分功能:

bin/start-all.sh

使用rsplit更简单:

>>> s = 'https://fire.vimeocdn.com/.../159463108/video/499604330/playlist.m3u8'
>>> '/'.join(s.split('/')[:-1])
'https://fire.vimeocdn.com/.../159463108/video/499604330'

答案 2 :(得分:0)

使用非贪婪匹配,添加'?'在' *'

之后
import re
s = 'https://fire.vimeocdn.com/1485599447-0xf546ac1afe7bce06fa5153973a8b85b1c45051d3/159463108/video/499604330/playlist.m3u8'
m = re.match('(.*?)(playlist.[^.]*)', s)
print(m.group(1))