Я верю \d+,(?!\s)
будет делать то, что вы хотите. ?!
- это отрицательный прогноз , который соответствует, только если то, что следует за ?!
, не не появляется в этой позиции в строке поиска.
>>> re.findall(r'\d+,(?!\s)', 'Mike1, misha1,2, miguel1,2,3,4,5,6,7,18, and Michea2,3')
['1,', '1,', '2,', '3,', '4,', '5,', '6,', '7,', '2,']
Или, если вы хотите сопоставить разделенный запятыми список чисел, исключая запятую, используйте \d+(?:,\d+)*
.
>>> re.findall(r'\d+(?:,\d+)*', 'Mike1, misha1,2, miguel1,2,3,4,5,6,7,18, and Michea2,3')
['1', '1,2', '1,2,3,4,5,6,7,18', '2,3']