我们可以使用RegExp验证浮点数的最小值和最大值吗?

我们可以使用RegExp验证浮点数的最小值和最大值吗?,regex,max,min,Regex,Max,Min,嗨,我知道我们可以使用正则表达式验证数字的最小和最大长度。 但是我们是否可以使用相同的方法验证浮点数的Min和Max Value 最小值:0.00 最大值:100000000.00 请任何人将最小值和最大值应用于以下正则表达式: ^(?=.*\d)(?!.*?\.[^.\n]*,)\d*(,\d*,?)*(\.\d*)?$ 上面的正则表达式匹配带有可选小数点和逗号的浮点数。正则表达式用于字符串。您尝试比较浮动。这不是合适的工具。这比用叉子喝汤更糟糕。这就像用刀在纸上写字或用茶匙剪头发 在此

嗨,我知道我们可以使用正则表达式验证数字的最小和最大长度。 但是我们是否可以使用相同的方法验证浮点数的Min和Max Value

  • 最小值:0.00
  • 最大值:100000000.00
请任何人将最小值和最大值应用于以下正则表达式:

^(?=.*\d)(?!.*?\.[^.\n]*,)\d*(,\d*,?)*(\.\d*)?$

上面的正则表达式匹配带有可选小数点和逗号的浮点数。

正则表达式用于字符串。您尝试比较浮动。这不是合适的工具。这比用叉子喝汤更糟糕。这就像用刀在纸上写字或用茶匙剪头发

在此处查找不带千位分隔符的正整数的解决方案:


我将任务留给您,让您将该解决方案扩展到使用浮点数、千位分隔符和负数

我想这应该对你有帮助。此正则表达式将匹配
0.00
100000000.00
最多两位小数

^(:?(?=[1])(10{0,8})|(?=[^0])(\d{1,8})|0)\.[0-9]{1,2}$
但请记住,最好使用正则表达式对数字进行数字比较


验证它。

regex??求你了,别…@Karoly,这不可能吗?我想这是可行的。但我不在乎。这是一个可怕的想法。可能重复感谢@Lorenz。现在我明白了,用正则表达式比较数字是很困难的,也不是一个好的做法。当我想减少代码行时,我想到了这个想法。无论如何,谢谢你的回复。这里的
(:?…)
的目的是什么?你是说非捕获组
(?:…)