You don't need a regex for this:
>>> foo="Won 1, 2, 3, 4, Lost 5, 6, 7, 8"
>>> [x for x in foo if x.isdigit()]
['1', '2', '3', '4', '5', '6', '7', '8']
>>>
That wouldn't work if you want to capture multi-digit numbers, but for the examples you cite, and given that your title references digits, not numbers, it would work.
This would get multi-digit numbers that don't have punctuation attached - you would modify the call to split()
as necessary to get your desired results given your input:
>>> foo="This 23 is not a string with 32 numbers"
>>> [x for x in foo.split() if x.isdigit()]
['23', '32']