Shrikesh_kale Ответов: 2

Регулярное выражение для чисел с одной десятичной запятой


Может ли кто-нибудь помочь мне с регулярным выражением для любого числа с максимумом 1 десятичной точки

Valid numbers: 
10
10.2
100015.1
99.9
10.0

Invalid numbers:
10.01
12.333
0.233
10.
10.1<space>
10.<space>


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

я попробовал использовать приведенное ниже выражение, но оно не работает для (10., 10.space , 10.1 space)

\.\d\d+

Member 13908363

как ограничить более одного десятичного знака ? пользователь не должен писать как 5..23
но он может написать 5.23

2 Ответов

Рейтинг:
20

OriginalGriff

Попробуй:

^\d\d+\.[1-9]\d*$

Это позволяет два или более слева от десятичной точки и по крайней мере один справа.
И допускает, что 10.01 является недействительным.

"Я ищу то, что позволяет два или более слева от десятичной точки и максимум один справа."
Тогда попробуй:
^\d\d+(\.[1-9])?$


Shrikesh_kale

Я ищу то, что позволяет два или более слева от десятичной точки и максимум один справа.

OriginalGriff

Ответ обновлен

Shrikesh_kale

спасибо

Member 13908363

как ограничить более одного десятичного знака ? пользователь не должен писать как 5..23
но он может написать 5.23

OriginalGriff

Вы пробовали регулярное выражение, которое существует здесь уже три с половиной года?

Рейтинг:
0

Patrice T

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


Member 13908363

как ограничить более одного десятичного знака ? пользователь не должен писать как 5..23
но он может написать 5.23

Patrice T

Мы должны задать свой вопрос.
добавьте некоторые детали .