在正则表达式中避免多个匹配

时间:2017-06-27 21:24:47

标签: python regex

这是html代码:

 [{file: "http://srv74.vidzi.tv/hls2/jjuqjoa4ki2qedz7nlhbttjfjz62mrdkpxryo6zgr,llnmsfgxyea6jqrfama,bb5msfgxyencp5qkgqa,.urlset/master.m3u8"},{file: "http://srv74.vidzi.tv/jjuqjoa4ki2qedz7nlhbttjfjz62mrdkpxryo6zgrbb5msfgxyencp5qkgqa/v.mp4"}]

我的目的是提取以v.mp4结尾的链接

我的正则表达式如下:

(http://srv74.vidzi.tv/.+?/v.mp4)

但是,我在我的正则表达式中将两个网址都作为匹配项 如何避免多次匹配?

我正在使用pythex

1 个答案:

答案 0 :(得分:0)

除非您排除中,否则无法使用共同的起始位置 使用点.字符时。

这是更可靠的方式。
这样做你不必担心有效的URL字符或
是否有其他分隔符。

(http://srv74\.vidzi\.tv/(?:(?!srv74\.vidzi\.tv).)+?/v\.mp4)

https://regex101.com/r/xrnuZw/1

扩展

 (                             # (1 start)
      http://srv74\.vidzi\.tv/
      (?:
           (?! srv74\.vidzi\.tv )        # Don't let this be before mp4
           . 
      )+?
      /v \. mp4 
 )                             # (1 end)