Вы хотели просто проверить, что вводит пользователь, или помешать им вводить недопустимые символы?
В первом случае регулярные выражения на самом деле не нужны.Вы находитесь на правильном пути с double.Parse, но то, что вы хотите сделать, это double.TryParse.Сначала прочитайте пользовательский ввод в строку, затем попробуйте преобразовать ее в двойную.Если TryParse возвращает false, сообщите пользователю, что его ввод недействителен, и попросите его ввести его снова.
FWIW: вот как я это сделаю (предупреждение: непроверенный код), что может быть или не быть тем, что вынужно:
case 1:
double[] myArrai1 = new double[3];
for (int i=0; i < myArrai1.length; i++) {
Console.WriteLine("Insert a number");
while (!double.TryParse(Console.Readline(), out myArrai1[i])) {
Console.WriteLine("Invalid entry. Please enter a number.");
}
}
break;