Регулярное выражение для десятичных чисел - PullRequest
1 голос
/ 05 мая 2010

Мне нужна проверка RegEx для десятичного числа. Должно быть разрешено до 5 цифр после десятичной дроби. Разрешить:

1    
1.0    
12.0    
12.01    
123.01    
1,123.01    
1,123.013
21,123.01234    
3,21,123.01234

Как я могу сделать регулярное выражение для этого?

Ответы [ 4 ]

3 голосов
/ 05 мая 2010
2 голосов
/ 06 мая 2010

Хотите проверить позиции запятых? Если это так, то это работает для индийской системы нумерации, которую вы, похоже, используете:

^(?:\d{1,2},(?:\d{2},)*\d{3}|\d{1,3})(\.\d{1,5})?$

Если вы хотите разрешить запятые в целочисленной части, но не заботитесь об их позиции (за исключением того, что они не могут начинаться или заканчиваться запятой), это будет делать:

^\d+(?:,\d+)*(\.\d{1,5})?$
2 голосов
/ 05 мая 2010
^[\d,]+(\.\d{1,5})?$
0 голосов
/ 05 мая 2010

Там отличная библиотека часто используемых регулярных выражений в http://regexlib.com/.

Вы используете стандартное выражение, например: ^\$[0-9]+(\.[0-9][0-9])?$ или одну из альтернативных версий, которые делают одно и то же, в зависимости от того, какой именно вкус вы хотите найти.

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