Вы можете использовать флаг re.MULTILINE
:
qty = re.findall(r'\d{1,3}$', string, flags=re.MULTILINE)
Вы получаете: ['15', '5', '25']
Но некоторые строки также заканчиваются конечными пробелами. Таким образом, вы можете использовать группу с необязательным пробелом:
qty = re.findall(r'(\d{1,3})\s*$', string, flags=re.MULTILINE)
Вы получите: ['15', '10', '5', '5', '25']
.
Вы также можете искать номера, за которыми следует дополнительный пробел и конец строки. Вы можете сделать это с положительным взглядом:
qty = re.findall(r'\d{1,3}(?=\s*$)', string, flags=re.MULTILINE)