Akhil Jain Ответов: 4

Регулярное выражение для значения не более 6 с 1 десятичным знаком


я сделал это для 1 знака после запятой, но не знаю, как ограничить до 6

допустимое значение
6.0
1.1
0.0
2.1
5.9

не принимать
6.1
6.01
6.2
0.00
5.99



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


Что я уже пробовал:

i have made this for 1 decimal place but don't know how to limit upto 6 ^[0-9]+(\.[0-9]{1,1})?$"

Tomas Takac

Зачем вам нужно проверять значение с помощью регулярного выражения? Было бы проще разобрать значение, а затем проверить диапазон.

Richard MacCutchan

Почему вы допускаете 0-9 в качестве первой цифры, когда 6 должно быть пределом?

4 Ответов

Рейтинг:
1

Jochen Arndt

Вы должны различать 6[.0] и 0[.d] к 5[.d]:

^(6(\.0)?)|([0-5](\.[0-9])?)$
^((6(\.0)?)|([0-5](\.[0-9])?))$

Вышеизложенное позволяет использовать числа без дробных цифр. Если дробные цифры должны быть поставлены это проще:
^(6\.0)|([0-5]\.[0-9])$
^((6\.0)|([0-5]\.[0-9]))$


Akhil Jain

оба принимают 6.02

Jochen Arndt

Уупс.
Я забыл об окружающих скобках.

Akhil Jain

не согласившись 6.0

Рейтинг:
1

Patrice T

Всего несколько интересных ссылок, которые помогут построить и отладить регулярное выражение.
Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[^]
Регулярное Средство Выражения Эспрессо [^]
Это показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]


Рейтинг:
0

OriginalGriff

Не используйте регулярное выражение: используйте базовое регулярное выражение для обработки общего формата для " цифры, за которой следует необязательный одинарный десятичный знак":

^(\d(\.\d))$

Затем используйте десятичную дробь.Попробуйте преобразовать его в число и проверить границы этого числа.
Вы можете использовать регулярное выражение для проверки от 0.0 до 6.0, но это Пита для поддержания, если позже произойдет тривиальное изменение. Гораздо легче понять и изменить позже, если вы также используете код.


Akhil Jain

не сработало

Рейтинг:
0

Akhil Jain

^([0-5]\.\d|6\.0)$


я понял