Regex 接受整数和十进制范围的正则表达式

Regex 接受整数和十进制范围的正则表达式,regex,Regex,我需要一个正则表达式,它可以匹配以下数字范围: 1,9 - 29,9 and 30-549 这是我到目前为止写的,但是它只接受decimal作为exple,它将接受29,9,而不是27。 这是我的正则表达式: ^(1\.9\d*|[2-9]\.\d*|[2-9]\.?|1[0-9]\.\d*|1[0-9]\.?|2[0-8]\.\d*|29\.[0-9]|3[0-9]\.?|[3-9][0-9]|[1-4][0-9]{2}|5[0-4][0-9])$ 你可以用 ^(?:[1-9],[0-9]

我需要一个正则表达式,它可以匹配以下数字范围:

1,9 - 29,9 and 30-549
这是我到目前为止写的,但是它只接受decimal作为exple,它将接受29,9,而不是27。 这是我的正则表达式:

^(1\.9\d*|[2-9]\.\d*|[2-9]\.?|1[0-9]\.\d*|1[0-9]\.?|2[0-8]\.\d*|29\.[0-9]|3[0-9]\.?|[3-9][0-9]|[1-4][0-9]{2}|5[0-4][0-9])$
你可以用

^(?:[1-9],[0-9]|[12][0-9],[0-9]|[3-9][0-9]|[1-4][0-9]{2}|5[0-4][0-9])$

谢谢你们,我找到了解决办法。对于范围1,9到29,9(小数和整数)和30到549(仅限整数),此正则表达式将工作:


(2-9)、1[0-9]、1[0-9[0-9]、1[0-9[0-9]、1[0-9[0-9]、1[0-9[0-9[0-9]、2[0-0-8[0-8[0-8[0-8[0-8[0-8[0-9],[3-9[10-9]、1[1[0-9-9]、1[0-9]、1[0-0-9]、1[0-0-9]、1[0-9]、1[0-9]、1[0-9]、1[0-0-9]、1[0-9[0-9]、1[0-9]、1[0-9]、2[0-9]、2[0-9]、2[0-9]、2[0-9[0-9]、2[0-9[0-9]、2[0-检查数字范围。转换为数字并使用算术比较器(
@Kasramvd小数点可能。许多国家使用
而不是
作为小数点。@m0skit0 Ohum,似乎也是!@Kasramvd,1,9-29,9是我需要测试的数字范围。请尝试我的建议。它匹配1-29后的小数点(如果您允许0或更多或在[0-9]后添加加号,请添加星号*,`以允许1或更多十进制数字,并匹配30到549之间的整数。括号有问题,因为它们粘贴不正确(我在移动电话上)。@Stribizev哦,我明白了,非常感谢。我会尝试的