2016-01-04 2 views
-1

Мне нужно определить максимальное значение для поля. Я использую маску reg ex, ([1-9]? [0-9]) | (100), и она работает нормально для значения от 1 до 100, но мне нужно, чтобы значение было от 0,1 до 100. (Прошу прощения за мои ошибки на английском языке).Определить десятичное максимальное значение с помощью маски Регулярное выражение RegEx

+0

Просто разобрать ваше значение поля в два раза и проверить это значение находится в пределах от 0,1 до 100? –

+0

Но мне нужно сделать маску. Спасибо –

+0

Зачем вам это нужно с RegEx? Домашнее задание? – Jannik

ответ

1

Это регулярное выражение работает для любого десятичного числа от 0,1 до 100:

^(100|([1-9]\d|[1-9])(\.\d+)?|0\.[1-9]\d*)$ 

объяснение: 100 или ((число между 10 и 99) или (число между 1 и 9), возможно с десятичных цифр) или (десятичное число в диапазоне от 0,1 до 0,9 с десятичных цифр)

протестирована с ниже код в C# консоли

Regex r = new Regex(@"^(100|([1-9]\d|[1-9])(\.\d+)?|0\.[1-9]\d*)$"); 
while (true) 
{ 
    Console.WriteLine(r.IsMatch(Console.ReadLine())); 
} 
+0

«** от 0,1 ** до 100», ваше регулярное выражение проверяет только 1. –

+0

Спасибо, но это не работает. Значение должно быть от 0,1 до 100. Я имел в коде, но мне нужно сделать с помощью RegEx. –

+0

Регулярное выражение не работает, например, для значения 10, x. –

Смежные вопросы