Я изучаю регулярные выражения в Python. Тем временем на сцене я произвел первое выражение регулярного выражения, а в моем уроке написано второе. Оба выдают одинаковый результат для данной строки. Какие есть отличия? Для чего может быть строка, чтобы эти коды давали разные результаты?

>>> f = 'From m.rubayet94@gmail.com sat Jan'
>>> y = re.findall('^From .*@(\S+)',f); print(y)
['gmail.com']
>>> y = re.findall('^From .*@([^ ]*)',f); print(y)
['gmail.com']
1
Rubayet Mahmud