Python находит строку в URL-адресе после определенной строки

#python #regex #string #text-parsing

Вопрос:

У меня есть такие URL-адреса:

 https://storage.cloud.google.com/test_bucket/first_test_user/0.jpg
 

С помощью Python мне нужно найти ведро и значение большого двоичного объекта из него, чтобы я мог назначить переменные:

 bucket = 'test_bucket'
blob = 'first_test_user/0'
 

Я думаю, что для этого мне нужно регулярное выражение, но мне не удалось найти значения в строке. Это должно быть похоже:

 bucket = find(substring between 3rd and 4th "/")
blob = find(substring between 4th "/" and ".jpg")
 

Был бы очень признателен вам за помощь, так как регулярное выражение действительно сбивает меня с толку, как новичка..

Ответ №1:

 import re

txt = 'https://storage.cloud.google.com/test_bucket/first_test_user/0.jpg'
bucket, blob = re.findall(r"//[^/] .([^/] ).([^/] )/", txt)[0]
print(bucket, blob, sep='n')
 

или, без повторного:

 txt = 'https://storage.cloud.google.com/test_bucket/first_test_user/0.jpg'
s = txt.split('/')
bucket, blob = s[3], s[4]
print(bucket, blob, sep='n')
 

С принтами:

 test_bucket
first_test_user
 

Комментарии:

1. Большое вам спасибо!