Your string is in fact html – you should use html parser instead. I suggest the excellent lxml.html parser.
To answer your question, regexes are greedy by default, that means your .+
part will grab as many chars as it can to satisfy the condition. So you will get the first /subtitles/
and the last -english\-yify-
and everything in between.
7
solved regex match for the exact match not all the match in python