匹配周期后跟数字零到 2 次

match period followed by digit zero to 2 times

我正在尝试编写一个匹配所有这些的正则表达式:

1.5
2
2.7
3
3.5
3.5.0
3.6
4

我的正则表达式无法获取 3.5.0 条目。 Regex101 显示它缺少第二个“.”,但它确实抓住了“0”。

我正在使用:(\d[\.\d]{0,2})

我想我执行失败了:一个句号后跟一个数字,重复0-2次。

完整的正则表达式应匹配一个数字,后跟一个句点,然后是一个数字,重复 0-2 次。

您可以使用:

^\d(?:\.\d){0,2}$

https://regex101.com/r/VOXYko/1

一对方括号中的字符,称为字符集,只匹配一个字符。您应该将 \.\d 括在圆括号中而不是方括号中,以便将它们实际分组为子模式,供以下量词重复。