^(0(\.\d{1,4})?|(0\.\d{1,4})|[1-9]\d*(\.\d{1,4})?|0)$
此表达式解析如下:
- `^`表示字符串的开始。
- `(0(\.\d{1,4})?|(0\.\d{1,4})|[1-9]\d*(\.\d{1,4})?|0)$`用于匹配大于0且最多有四位小数的数字。它可以接受的形式有:单独一个0,0开头的小数,非零正整数,非零正整数后面接小数。
- `\.\d{1,4}`匹配一个小数点后跟1到4个数字。
- `?`表示前面的元素可有可无。
- `|`表示选择,符合前面的条件或后面的条件即可。
- `()`用于分组,`[]`表示字符集,其中的字符可以任选。
- `[1-9]\d*`匹配所有正整数。
- `$`表示字符串的结束。
请注意,此正则表达式并不能匹配到大于等于10e4的数字,且如果你只希望匹配大于0的数字,你需要自行去掉`|0`这一部分。