Андрей Дугин: Вопрос скорее о самой регулярке, а точнее о левой и правой частях.
(?<=\.png">) и (?=)
Почему их запись в круглых скобках?
И как работает часть "?<=" и "?=" ?
Скобки являются частью lookbehind assertion и lookahead assertion соответственно, которые определяют, что должно быть до и после искомого выражения. При этом содержимое скобок не попадает в результат. Подробнее можно посмотреть, например, здесь (на английском): https://docs.python.org/2/library/re.html