Is there a RegEx to extract from a string containing a list of delimited by semicolon(;)

I would like to group the key and it’s value (if it has value). The RegEx I found on this website (I lost the post) is almost complete because it separates the key and it’s value.

Example:
my.parameter 10; the.foo "Procedural Map"; pve; server.description "This; is "my", my description,.n"

Current result with [^; "]+|"(?:\"|[^"])*"/g

[
  'server.seed',
  '10',
  'pve',
  'server.level',
  '"Procedural Map"',
  'server.description',
  '"This; is \"my\", server; description,."'
]

Desired result

[
  'my.parameter 10',
  'the.foo "Procedural Map"',
  'pve',
  'server.description "This; is "my", server; description,.n"'
]

Can you help me to improve the RegEx to group the parameter and it’s value?