我正在尝试创建一个正则表达式,它将接受以下值:
我想出了一个([0-9]){0,2}\.([0-9]){0,2},对我来说,“数字0到9发生0到2次,后面跟着'.‘字符(应该是可选的),后面的数字0到9发生0到2次。如果只有两个数字被输入'.’是不必要的。这个正则表达式有什么问题?
发布于 2009-08-06 13:39:11
你没有让点可选:
[0-9]{0,2}(\.[0-9]{1,2})?发布于 2009-08-06 13:41:44
首先,{0-2}应该是{0,2},就像第一次一样。
其次,还需要对重复部分进行分组。
第三,你需要使整个最后部分是可选的。因为如果有一个点,在它之后一定有什么东西,你也应该把第二个重复的东西改为{1,2}。
([0-9]{0,2})(\.([0-9]{1,2}))?发布于 2009-08-06 13:42:55
正则表达式有几个问题:
\.)。更好的模式应该是:
/\b[0-9]{0,2}(?:\.[0-9]{1,2})?\b/请注意,(?:...)使组不创建反向引用,这在您的情况下可能不需要。
https://stackoverflow.com/questions/1238943
复制相似问题