Вы можете изменить свое регулярное выражение для разделения на некоторое количество пробелов, за которым следует арифметический оператор, за которым следуют пробелы:
string[] strNum = (Regex.Split(mExp, @"\s*[+/*-]\s*"));
Console.WriteLine(string.Join("\n", strNum));
Вывод:
1.50
2.50
Демонстрация включенаrextester
Чтобы справиться с отрицательными числами, вы должны сделать регулярное выражение более изощренным и добавить ограждение для цифры и заглядывание для цифры или -
:
string mExp = "-1.50 + 2.50 -3.0 + -1";
string[] strNum = (Regex.Split(mExp, @"(?<=\d)\s*[+*/-]\s*(?=-|\d)"));
Console.WriteLine(string.Join("\n", strNum));
Выход:
-1.50
2.50
3.0
-1
Демонстрация на rextester