регулярное выражение Java - захватить повторяющиеся группы

Я использую библиотеку регулярных выражений Java. Я хочу проверить строку в следующем формате:

31,5,46,7,86(...)

Количество номеров неизвестно. Я хочу убедиться, что в этой строке есть хотя бы одно число и каждые два числа разделены запятой. Я также хочу получить числа из строки.

(Замечания: это просто упрощенный пример, string.split не решит мою актуальную проблему)

Я написал следующее регулярное выражение:

({[0-9]++)((?:,[0-9]++)*+)

Валидационная часть работает. Однако, когда я пытаюсь извлечь числа, я получаю 2 группы:

Group1: 31
Group2: ,5,46,7,86

версия regex101:https://regex101.com/r/xJ5oQ6/3

Есть ли способ получить каждый номер отдельно? то есть, чтобы закончить с коллекцией:

[31, 5, 46, 7, 86]

Заранее спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос