唯一的RegEx字符串

Pad*_*ddy 4 .net regex

我有一组要求,声明必须按如下方式验证输入:

  • 介于1到7个字符之间
  • 数字
  • 大于0
  • 并允许小数点

目前我有 ^(?!0{1,7}$)(\d+(\.\d)?){1,7}$

但这并不会将整个字符串限制为最多7个字符

Ulu*_*rov 8

我们可以这样思考:

^(?=\d+(?:\.\d+)?$)(?![0\.]+$).{1,7}$
Run Code Online (Sandbox Code Playgroud)
  • 从一开始就是正向前瞻:它应该由数字和可选.符号组成(数字模式)
  • 从头开始的负向前瞻:它不应仅由0.符号组成 (模式要排除0值).
  • 它应该有1到7个符号.

正则表达式可视化