Regex 正则表达式介于1.00和99.00之间

Regex 正则表达式介于1.00和99.00之间,regex,Regex,我需要找到一个只允许在1.00和99.00之间输入的正则表达式,因此低于1.00和大于99.00的任何内容都是不可接受的。试试这个-这将匹配1到90 ^[1-9][0-9]?$|^90$ 如果您也需要接受整数: ^(?(?=99)99(\.0+)?|([1-9]\d?(\.\d+)?))$ 正则表达式对于这种验证是不好的,因为涉及的if-this-then-that规则太多了。不过,这种模式会起作用 ^(?[1-9]\.\d{2}|[1-8]\d\.\d{2}|9[0-8]\.\d{2}|

我需要找到一个只允许在1.00和99.00之间输入的正则表达式,因此低于1.00和大于99.00的任何内容都是不可接受的。

试试这个-这将匹配1到90

 ^[1-9][0-9]?$|^90$

如果您也需要接受整数:

^(?(?=99)99(\.0+)?|([1-9]\d?(\.\d+)?))$

正则表达式对于这种验证是不好的,因为涉及的if-this-then-that规则太多了。不过,这种模式会起作用

^(?[1-9]\.\d{2}|[1-8]\d\.\d{2}|9[0-8]\.\d{2}|99.00)$


已对0.00和99.99之间的所有10000个可能值进行了测试。重复:
regex
不是适合此作业的工具。您可以使用
regex
检查字符串是否看起来像一个数字,然后从中提取数值,并将该值与可接受范围的限制进行比较。因此,低于1.00且大于90.00的任何内容都是不可接受的。你是说第二句话中的99.00,还是第一句话中的90.00?这个问题到底是怎么得到2票的?!不要。别这样。
double n有什么问题;if(双锥巴色(“99.0”,超出n)&&n>=1.0&&n那么1.23呢?几乎99.01失败了,但99.01应该失败了是的范围应该是1.00到99.00这不是答案。这与90年代的任何值都不匹配,除了99.00。它与90.00到98.99之间的任何值都不匹配HI。我还需要它接受数字的第一部分和小数点。例如10。不工作介于99.01和99.99之间,因为您的设置是99.00。但是非常接近!谢谢。(^\d{1}.[1-9]\d\)(\d{2})$@jDub9问题说有效范围仅为99.00,这就是为什么我提供了一个仅匹配99.00的答案。如果您的验证规则与问题要求的不同,那没关系,但您不能告诉我,我错误地回答了这个问题,因为您有不同的问题。