Regex 从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-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.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)$