java regex - captura grupos repetidos

Estou usando a biblioteca regex do Java. Desejo validar uma string no seguinte formato:

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

A quantidade de números não é conhecida. Quero garantir que haja pelo menos um número nessa sequência e que cada dois números sejam separados por vírgula. Eu também quero obter os números da string.

(Nota: este é apenas um exemplo simplificado, string.split não resolverá meu problema real)

Eu escrevi o seguinte regex:

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

A parte de validação funciona. No entanto, quando tento extrair os números, recebo 2 grupos:

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

versão regex101:https://regex101.com/r/xJ5oQ6/3

Existe uma maneira de obter cada número separadamente? ou seja, para terminar com a coleção:

[31, 5, 46, 7, 86]

Desde já, obrigado.

questionAnswers(2)

yourAnswerToTheQuestion