我试图为具有固定最大值(例如4)的有效数字的浮点数找到正则表达式。
这应符合:
- 123.4
- 12.34
- 1.2
- 223
- 0.1234
- 0.000001234
问题是,点之前和之后的非零数必须总共最多为4。
我试图分解问题并找到案例的解决方案:
- 0.xxxx
- 0.000xxx
- xxxx
但我没有找到针对在点之前和之后找到有效数字的情况的解决方案。 (examples: 1.23 2.345
)
更新: 我想我找到了一个解决方案:
^(?!(?:.*[1-9](\.?[0-9]){4,}))([-+]?\d+\.?\d*?)$
答案 0 :(得分:1)
^(?!(?:.*?[1-9]){5,})([-+]?\s*\d+\.?\d*?)$
试试这个。这只会匹配4个或更少的有效数字。不要忘记放置标记g
和m
。请参阅演示。
答案 1 :(得分:0)