2016-11-07 2 views
0

Я хочу, чтобы соответствовать десятичное число в диапазоне от 0 до 1 (включительно), но регулярное выражение я написал будет соответствовать что-нибудь более 1 тоже: https://regex101.com/r/mN1iT5/3Regex Match десятичное число в диапазоне от 0 до 1

Как я могу решить эту проблему

^[0-1]{1}(\.[0-9]{1,2})?$ 
+1

[ '^ (0 (\ \ d +) |?.? 1) $'] (https://regex101.com/r/0Hcxpw/1) – Tushar

+0

Я не понимаю. Вышеупомянутое регулярное выражение не совпадает с регулярным выражением из демонстрации. Ваше регулярное выражение должно работать нормально. –

+0

'^ (0 \. [0-9] {1,2} | 1 \ .00?) $' Это делает. –

ответ

0

Do:

^(?:0*(?:\.\d+)?|1(\.0*)?)$ 
  • 0*(?:\.\d+)? совпадает с любым количеством 0 следует один или цифр

  • 1(\.0*)? матчей 1 с последующей десятичной точкой, и любое число 0 с

  • выше два | (ИЛИ-е изд), чтобы соответствовать любому из них

Demo

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