Регулярное выражение принимает пользовательские числа - PullRequest
0 голосов
/ 11 сентября 2009

Мне нужна помощь

Как изменить это регулярное выражение, которое позволяет принимать положительные числа

как 0, 0,00, 0,02 и т. Д.,

Теперь принимаются 5 десятичных цифр, которые больше 0 и до 100

.
"^100|(\d\d?)(\.(1[01]?|0\d?))?$"

Ответы [ 2 ]

1 голос
/ 11 сентября 2009

Сначала вы должны обернуть все выражение, кроме границ строк в группе. В противном случае ваше выражение просто скажет, что либо начинается с ..., либо заканчивается на ... , поскольку | имеет более высокий приоритет, чем ^ и $:

^(100|(\d\d?)(\.(1[01]?|0\d?))?)$

А теперь решение вашего вопроса:

^((100|[1-9]?[0-9])(\.\d{1,2})?|\.\d{1,2})$
0 голосов
/ 11 сентября 2009

Я не уверен, на каком языке вы хотите получить результат, но это кажется довольно простым. Правила ввода должны начинаться либо с цифры (цифр), либо с десятичной точки, а затем либо с десятичной точки, либо с цифры (и).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...