Format the output of Color.ToString() to RGB values The method that I wrote below functions properly; however, I believe that the code I wrote is not clean nor "good".

I know the basics of regex but I do not know more advanced techniques as I am still an amateur at programming.

static string SimpleColorOutput(Color color)
{
    //If input = Color[A=255, R=8, G=14, B=21]

    string colorText = color.ToString();

    Match R = Regex.Match(colorText, @"R=(\d+)[,\]]");
    Match G = Regex.Match(colorText, @"G=(\d+)[,\]]");
    Match B = Regex.Match(colorText, @"B=(\d+)[,\]]");

    return $"R = {R.Groups[1].Value}, G = {G.Groups[1].Value}, B = {B.Groups[1].Value}";

    //The method returns "R = 7, G = 13, B = 20"
}


Also, is it better to just pass in the Color object
The code in question is using the wrong tool (Regex) to achieve what you want. Using the string representation of a Color to get a string back is not a good way.  

If one would pass a predefined color like Color.Red into that method it would fail by returning R = , G = , B = because the Color.ToString() returns  


  A string that is the name of this Color, if the Color is created from
  a predefined color by using either the FromName(String) method or the
  FromKnownColor(KnownColor) method; otherwise, a string that consists
  of the ARGB component names and their values.


If this is just for learning Regex you could change   

string colorText = color.ToString();  


to  

string colorText = Color.FromArgb(color.R, color.G, color.B).ToString();  


otherwise it would be better to just write 

static string SimpleColorOutput(Color color)
{
    return $"R = {color.R}, G = {color.G}, B = {color.B}";
}