Regex - Grupo de captura repetida

Estou tentando descobrir como posso repetir um grupo de captura nocomma-separated valores nesta a seguinte string de URL:

id=1,2;name=user1,user2,user3;city=Oakland,San Francisco,Seattle;zip=94553,94523;

Estou usando issoRegExp que são os resultados de retorno que eu quero, exceto os valores, pois são dinâmicos, ou seja. poderia ser 2,3,4, etc, usuários no parâmetro url e queria saber se eu poderia criar um grupo de captura para cada valor em vez deuser1,user2,user3 como um grupo de captura.

RegExp: (^|;|:)(\w+)=([^;]+)*

Aqui está uma demonstração ao vivo online usandoRegExp

Saída de exemplo:

Grupo1 - (ponto e vírgula, dois pontos)Grupo2 - (chave, por exemplo, ID, nome, cidade, CEP)Grupo3 - (valor1)Grupo4 - (valor2) * se existirGrupo5 - (valor3) * se existirGrupo6 - (valor4) * se existir

etc ... com base nos valores dinâmicos como expliquei antes.

Pergunta, questão: O que há de errado com minha expressão? Estou usando o* fazer um loop para padrões repetidos?

questionAnswers(1)

yourAnswerToTheQuestion