【发布时间】:2019-02-07 13:20:47
【问题描述】:
我正在尝试编写接受0 和200.0000 之间数字的正则表达式。
我现在设法写了这个:
^([0-9]|[1-8][0-9]|9[0-9]|1[0-9]{2}|200){1}(\.[0-9]{1,4})?$
但问题是我的表达式接受像200.0001 和更大的数字。
如果之前的数字是200,知道如何设置小数点后的数字限制吗?谢谢
【问题讨论】:
-
这是由于
[0-9]{1,4}。使用0{1,4}。如果要匹配200之前小数部分中的任何数字,则需要为200和前面的选项设置两个不同的可选组。 -
见
^(?:(?:[1-9]?[0-9]|1[0-9]{2})(?:\.[0-9]{1,4})?|200(?:\.0{1,4})?)$(demo)。 -
很高兴它对你有用。如果我的回答对您有帮助(请参阅How to upvote on Stack Overflow?),也请考虑投票,因为您在达到 15 个代表点后有权获得投票特权。请注意,您可以对所有有用的答案进行投票。