Я пытаюсь сопоставить десятичные числа с плавающей точкой с регулярным выражением. Число может быть или не быть числом до десятичного знака, а десятичное число может присутствовать или не присутствовать, и если оно присутствует, оно может иметь или не иметь цифры после него (Для этого приложения, ведущий +/- или трейлинг "E123" не допускается). Я написал это регулярное выражение:
/^([\d]*)(\.([\d]*))?$/
Что правильно соответствует следующему:
1
1.
1.23
.23
Однако это также соответствует пустой строке или строке с десятичной точкой, что мне не нужно.
В настоящее время после выполнения регулярного выражения я проверяю, что длина $ 1 или $ 3 больше 0. Если нет, то это недопустимо. Есть ли способ, которым я могу сделать это прямо в регулярном выражении?