我正在尝试编写正则表达式,该正则表达式只允许1-18之间的数字为十进制值。 下面的表达式允许18.10-18.99。请提出建议。 预先感谢
((?:[1-9]|1[0-8])(?:\.\d{1,2})?|18(?:\.00?)?)$
答案 0 :(得分:4)
您的正则表达式基本上没问题,您只需要将[0-8]
更改为[0-7]
,以允许除18
或18.0
以外的任何以18.00
开头的值,则应转义.
字符以强制它们仅匹配.
。最后,您应该将匹配项锚定到字符串的开头和结尾:
^((?:[1-9]|1[0-7])(?:\.\d{1,2})?|18(?:\.00?)?)$