Вы не можете использовать регулярное выражение для сравнения извлеченных чисел. Вам нужно проанализировать значения с помощью int.TryParse
и реализовать другие проверки, чтобы получить то, что вам нужно.
Предполагая, что в диапазонах есть только целые положительные числа , здесь String.Split
и int.TryParse
:
private bool CheckMyRange(string number_range, ref int n1, ref int n2)
{
var rng = number_range.Split('-');
if (rng.GetLength(0) != 2)
return false;
if (!int.TryParse(rng[0], out n1))
return false;
if (!int.TryParse(rng[1], out n2))
return false;
if (n1 >= 0 && n1 <= int.MaxValue)
if (n2 >= n1 && n2 <= int.MaxValue)
return true;
return false;
}
И назовите его например
int n1 = -1;
int n2 = -1;
bool result = CheckMyRange("1-2", ref n1, ref n2);