import re
txt = "123 4 56-7 maine x1s56"
x = re.findall(r"\d+(?:\s|(?=-))", txt)
print(x) # => ['123 ', '4 ', '56', '7 ']