Вопрос по регулярным выражениям Python

Почему при такой регулярке:

r'<a href="(.*)">'

он вытаскивает:

https://stepic.org/media/attachments/lesson/24472/sample1.html

А не <a href=https://stepic.org/media/attachments/lesson/24472/sample1.html">? С данным вопросом столкнулся в задаче https://stepik.org/lesson/24471/step/6?thread=solutions&unit=6780. Я использовал такое регулярное: r'http.*html', но среди решений нашел то, что указал выше. Не понял, почему оно работает именно так:)


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

Автор решения: Victor VosMottor

Вы можете найти подстроку(-и):

import re
print(*re.findall(regex, text))

Можете найти соответствующую строку (или соответствует ли строка):

import re
out = re.search(regex, text)
if out:
    print(out.group(0))

По-моему все просто ;)

Как это работает с вашим примером

text = '<a href="https://stepic.org/media/attachments/lesson/24472/sample1.html">'
regex = r'<a href="(.*)">'

in:

import re
print(*re.findall(regex, text))

stdout:

https://stepic.org/media/attachments/lesson/24472/sample1.html

in:

import re
out = re.search(regex, text)
if out:
    print(out.group(0))

stdout:

<a href="https://stepic.org/media/attachments/lesson/24472/sample1.html">
→ Ссылка