奇怪的正则表达式!不知道是bug,还是我有所不知。

做项目的时候用到一个正则表达式,用来检验输入的数据是一个有效的权重数字,一般为一个100以内的最多有两位小数的实数,最开始的时候我是这样写的
[1-9][0-9]?(.[0-9][0-9]?)?|100
可是当我输入100的时候,却检验出是一个无效的数字,想来想去不明白,最后我把100放在前面,写为下面的形式
100|[1-9][0-9]?(.[0-9][0-9]?)?
这次就可以了。不知道为什么。有谁知道么?
原文地址:https://www.cnblogs.com/chegan/p/29793.html