Extrair variáveis da expressão matemática da string

Eu quero extrair variáveis da expressão matemática usando c #. Eu escrevi este código e funciona corretamente:

List<string> Variables = new List<string>();
string temp = string.Empty;
Console.WriteLine("Please enter ur expression");
string Expression = Console.ReadLine().Trim();
int Index;
for (Index = 0; Index <= Expression.Length - 1; Index++)
{
    if (char.IsLetter(Expression[Index]))
    {
        temp = temp + Expression[Index];
    }
    else
    {
        if (temp.Length > 0)
        {
            Variables.Add(temp);
            temp = string.Empty;
        }
    }
}
if (temp.Length > 0)
{
    Variables.Add(temp);
}
foreach (string item in Variables)
{
    Console.WriteLine(item);
}
Console.ReadKey();

Tenho que detectar SIN e COS da expressão para remover SIN e COS das variávei

É bom caminho? possível fazer isso com expressões regulares ou maneiras melhoreEste código precisa ser refatorado?

epois de extrair, quero substituir variáveis por valores de entrada e vou calcular o resultado da expressã

questionAnswers(3)

yourAnswerToTheQuestion