Regex - Grupo de captura de repetición

Estoy tratando de descubrir cómo puedo repetir un grupo de captura en elcomma-separated valores en esto la siguiente cadena de url:

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

Estoy usando estoRegExp que son los resultados de retorno que quiero, excepto los valores, ya que son dinámicos, es decir podrían ser usuarios 2,3,4, etc. en el parámetro url y me preguntaba si podría crear un grupo de captura para cada valor en lugar deuser1,user2,user3 como un grupo de captura.

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

Aquí hay una demostración en vivo de la misma en línea usandoRegExp

Salida de ejemplo:

Grupo 1 - (punto y coma, colon)Grupo2: (clave, es decir, identificación, nombre, ciudad, código postal)Grupo3 - (valor1)Grupo4 - (valor2) * si existeGrupo5 - (valor3) * si existeGrupo6 - (valor4) * si existe

etc ... basado en los valores dinámicos como expliqué antes.

Pregunta: ¿Qué pasa con mi expresión? Estoy usando el* hacer un bucle para patrones repetidos?

Respuestas a la pregunta(1)

Su respuesta a la pregunta