rgba.Replace("]", String.Empty)
.Replace("[", String.Empty)
.Split(',')
.Select(double.Parse)
.ToArray();
Или, если вы знаете, что он всегда начинается с [
и заканчивается ]
rgba.Substring(1, rgba.Length - 2)
.Split(',')
.Select(double.Parse)
.ToArray();
А если вам не нравится LINQ
Array.ConvertAll(rgba.Substring(1, rgba.Length - 2).Split(','), double.Parse);
Regex довольно дорог в использовании, и я бы не рекомендовал его в этом случае.