正则表达式接受整数和小数

时间:2015-07-29 09:17:29

标签: regex

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

1,9 - 29,9 and 30-549

这是我到目前为止所写的内容,但它只接受十进制的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])$

2 个答案:

答案 0 :(得分:0)

您可以使用

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

答案 1 :(得分:0)

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

<强> ^(1 \,9 \ d * | [2-9] \,\ d * | [2-9] \ ,? | 1 [0-9] \,\ d * | 1 [ 0-9] \,?| 2 [0-8] \,\ d * | 2 [0-8] | 29 \,[0-9] | 29 | 3 [0-9] \,?| [3 -9] [0-9] | [1-4] [0-9] {2} | 5 [0-4] [0-9])$