Optional capturing in any order for values only

I have the following group of text:

name:   something
type:   another value
color:  red

I need to capture only the values to the right, in any order. Keeping in mind that any of the values above may be missing in other instances, or in a different order, such as:

color:  red
type:   value

On top of that, it being able to ignore quotation marks " and ' in case the values are wrapped in them, and ignoring the spaces between the proper and value. Which means that it would be able to still pull the values from the below example:

color:  "red"
type:   'value'
name:             'something'

Here is the JavaScript regex I’ve tried to pull together:

(?=[^`]*?name:? +(?<name>[^`n]*))(?=[^`]*?value:? +(?<value>[^`n]*))(?=[^`]*?color:? +(?<color>[^`n]*))(?=[^`]*?file:? +(?<file>[^`n]*))(?=[^`]*?type:? +(?<type>[^`n]*))

Regex101

The issue at the moment is:

  1. All values are required, if I remove any from the list, none of them capture. I’ve attempted adding optional ? syntax, but I can’t seem to place it in the right spot.
  2. The quotations are being captured with the value.

I have looked at examples online which mention using a ? between each group, but that results in the regex101 error: ? The preceding token is not quantifiable