regex как получить несколько значений из строки

Есть строка с ссылками на видео. Нужно получить все ссылки из видео, но получаю всю строку. Также в ссылке содержится информация о разрешении видеофайла, можно ли как-то тоже сгруппировать?

import re
s = '**db**dhdgub https://fasdf/240.mp4 тутнекийшум https://hghkjajkkj/240.mp4 fhg**bdvdcydub***dhv'
a = re.findall('https(.*).mp4', s)
# output ://fasdf/240.mp4 тутнекийшум https://hghkjajkkj/240.

Ответы (2 шт):

Автор решения: Danil Apsadikov
import re

str = "**db**dhdgub https://fasdf/240.mp4 тутнекийшум https://hghkjajkkj/240.mp4 fhg**bdvdcydub***dhv"

#['https://fasdf/240.mp4', 'https://hghkjajkkj/240.mp4']
print(re.findall("(?P<url>https?://[^\s]+)", str))
→ Ссылка
Автор решения: Алексей Р
import re

s = '**db**dhdgub https://fasdf/240.mp4 тутнекийшум https://hghkjajkkj/240.mp4 fhg**bdvdcydub***dhv https://hghkjajkkj/1024.mp4 akjhnsadnal; https://fasdf/1024.mp4'
a = re.findall(r"(https://[^\s]+?(\d+)\.mp4)",s)  # извлечь ссылки и разрешения ('https://fasdf/240.mp4', '240')
# сгруппировать ссылки по разрешению в словаре
d = {}
for link, res in a:
    d.setdefault(int(res), []).append(link)
print(d)
{240: ['https://fasdf/240.mp4', 'https://hghkjajkkj/240.mp4'], 1024: ['https://hghkjajkkj/1024.mp4', 'https://fasdf/1024.mp4']}
→ Ссылка