parse regra gradiente css com Javascript regex

no meu arquivo css eu tenho regra de gradiente, assim:

background-image:linear-gradient(to right, #FF0000 0%, #00FF00 20px, rgb(0, 0, 255) 100%);

Eu quero pegar todas as partes dessa string. A saída esperada é:

linear-gradient
to right
#FF0000 
0%, 
#00FF00 
20px, 
rgb(0, 0, 255) 
100%

Era muito difícil para mim trabalhar em uma corda inteira, então decidi dividi-la em partes.

Gradiente linear

.*gradient[^\(]?

cores

rgb ?\([ 0-9.%,]+?\)|#[0-9a-fA-F]{3,6}\s[0-9]{1,3}[%|px]|#[0-9a-fA-F]{3,6}|(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow){1}(\s[0-9]{1,3}\s*[%|px]?)?

para a direita

(?<=\()(.*(top|left|right|bottom|center).*?)(?=,)

mas o último regex não funciona no JS porque ele não tem look-behind de regex. Logo, eu preciso aqui para obter tudo entre "(" e ","

questionAnswers(2)

yourAnswerToTheQuestion