Regex Matching numbers with floating point

前端 未结 5 2170
感情败类
感情败类 2020-12-17 16:55

I have this pattern:

[0-9]*\\.?[0-9]

It matches numbers but it also matches 3.5.4 as:

  1. 3.5
  2. .4

How to f

5条回答
  •  生来不讨喜
    2020-12-17 17:49

    You have to decide if you want to accept numbers without leading zeros (eg .123). If you don't then the regex is easy:

    ^-?[0-9]+(\.[0-9]+)?$
    

    If you do then it's a little more complex:

    ^-?(?:[0-9]+|[0-9]*\.[0-9]+)$
    

    Both presume that a decimal point must be followed by at least one digit. If you don't accept negative numbers then the leading -? is unnecessary.

提交回复
热议问题