регулярное выражение 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]
Заранее спасибо.