регулярное выражение, которое допускает только цифру (0-9), одну запятую (,) и несколько точек (.). пример: 10.000.100,00 - действительный 10 000 100,00 - недействительный - PullRequest
0 голосов
/ 09 октября 2018

Мне нужно регулярное выражение, которое будет разрешать только число (0-9), одну запятую (,) и несколько точек (.).

пример: 10.000.100,00 - действительный 10 000 100,00--неверно

я пробовал

  1. ^ [\ d.,] + $
  2. \ d +,?. *

, нони один из них не работает.оба они допускают использование нескольких запятых.

нужна помощь для этого регулярного выражения в Java.

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Вы можете использовать это выражение: - ^\d+[\d.]*,?[\d.]*\d*$
Это позволит начинать и заканчивать цифрой.несколько (.) точек и одна (,) запятая

Ссылка: - https://regex101.com/r/hSjM2X/7

0 голосов
/ 09 октября 2018

Используйте это: ^\d+(?:\.\d+)*(?:,\d+)?$

Это гарантирует, что может быть не более одной запятой, и что такой запятой должна предшествовать хотя бы одна цифра, а за ней должна быть хотя бы одна цифра, однакозапятая не обязательна.

Она также гарантирует, что перед запятой (если она присутствует) возникают любые периоды, и нет запаздывающих или последовательных запятых.

Допустимые значения:

10.000.100,00
10.000.100
100

Неверные значения:

10,000,100.00
10.000.100,0.0
10.000.100,
10.000.
.10.000
10..100

См. regex101.com для демонстрации.

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