Regex适用于最多16位数字,数字中的任意位置都可以选择小数



我正在努力找到正确的正则表达式模式,以匹配最多16位的任何数字,并在数字中的任何位置使用可选的小数点。下面是一些例子。

有效:

  • 9999999999999999
  • 0.000000000000001
  • 3.24
  • 1.2
  • 0.00003

无效:

  • 12345678910111213
  • 59.492.5

根据上面关于.0 00000000000000003无效的注释,使用此模式

^(?!0d|.|.*?..*?.)(?=(?:.?d){1,16}$)(.*)$

演示

我假设您不想允许.number(即,下面的正则表达式与.67.08等数字不匹配),

^(?:(?=.{3,17}$)d+.d+|d{1,16})$

演示

相关内容

最新更新