Regex 从1-99到小数点后2位的正数的正则表达式
我正在尝试编写一个正则表达式,用于接受1-99之间的正数和最多2位的小数 我写了这个表达式Regex 从1-99到小数点后2位的正数的正则表达式,regex,Regex,我正在尝试编写一个正则表达式,用于接受1-99之间的正数和最多2位的小数 我写了这个表达式 ([1-9]|[1-9][0-9])(.[0-9]{1,2})? 但当我测试表达式时,它接受100和小数,最多3位,而我只希望小数最多2位,不应接受100。将与任何字符匹配的转义为\。。您没有分隔符,因此请注意,这将匹配字符串191.234中的91.23 ([1-9]|[1-9][0-9])(\.[0-9]{1,2})? 将与任何字符匹配的转义为\。。您没有分隔符,因此请注意,这将匹配字符串191.2
([1-9]|[1-9][0-9])(.[0-9]{1,2})?
但当我测试表达式时,它接受100和小数,最多3位,而我只希望小数最多2位,不应接受100。将与任何字符匹配的
转义为\。
。您没有分隔符,因此请注意,这将匹配字符串191.234中的91.23
([1-9]|[1-9][0-9])(\.[0-9]{1,2})?
将与任何字符匹配的
转义为\。
。您没有分隔符,因此请注意,这将匹配字符串191.234中的91.23
([1-9]|[1-9][0-9])(\.[0-9]{1,2})?
这似乎对我有用:
/^[1-9][0-9]?(\.[0-9]{1,2})?$/
正如David所说,您需要转义您的
,
,否则它会匹配任何字符,包括一个数字。这似乎适合我:
/^[1-9][0-9]?(\.[0-9]{1,2})?$/
正如David所说,你需要转义你的
,
,或者它匹配任何字符,包括一个数字。我会用这个(:[1-9]|[1-9]|[1-9][0-9])(?:\(?:[0-9][1-9]|[1-9])?$
在第一次评论后编辑答案。我会用这个
^(?:[1-9]|[1-9]|[1-9][0-9])(?:\(?:[0-9][1-9]|[1-9])?$
在第一条评论后编辑答案。这将匹配1-99位,最多2位小数
((0?[1-9]|[1-9][0-9])\.[0-9]{1,2})
这将匹配1-99和最多2位小数
((0?[1-9]|[1-9][0-9])\.[0-9]{1,2})
为了清楚起见,本例中的“分隔符”也称为“锚定符”。询问者是否需要小数?我把它理解为允许它们,所以我将第二组设置为可选的……为了清楚起见,在本例中,“分隔符”也称为“锚定符”。询问者是否需要小数?我把它理解为允许他们,所以我将第二组设置为可选…是否有人编辑以将反斜杠添加到RE-它以前不存在,是吗?是否有人编辑以将反斜杠添加到RE-它以前不存在,是吗?@DavidM我编辑了答案,我误解了你不想抓住0。如果你出于某种原因想抓住1.00,用这个来代替。^(?:\。\d\d)?$@DavidM我编辑了答案,我误解了你不想抓住0。如果你出于某种原因想抓住1.00,用这个来代替。^(?:\。\d\d)$