正则表达式问题: [1,9][0-9]{0,2} 可以匹配 1到三位的合法数字 我现在想加上 对零的匹配。

但这样的格式不正确。 ([1,9][0-9]{0,2}) | 0

谁知道告诉我,改怎么写啊
他给写的匹配:
匹配0 - 999 ^[1-9]\d{1,2}|\d$ 或者 ^{[1-9]\d{0,2}|0}$
oracle里的一个变量类型定义为number(3,1),可以这样进行正则匹配
^(?:[1-9]\d|\d)(?:\.\d)?$
我的小体会:对于数字类的匹配,最好的解决方法就是先列出需要的数据范围。再对照这个范围写正则表达式。。。。

你确定你[1,9][0-9]{0,2} 可以匹配 1到3位的合法数字吗?你试试2开头的数字能匹配么?
[1,9]这里有问题的,这个表示第一个数字只匹配1或者9,要写成[1-9]才可以
也就是说
[1-9][0-9]{0,2}才能匹配1-999的数字
下面是匹配0-999的数字
[1-9]\d{1,2}|\d 或者 [1-9]\d{0,2}|0
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-02
0放前面
0|([1,9][0-9]{0,2})
第2个回答  2010-12-02
不是很清楚
第3个回答  2010-12-02
你这么写可以啊,确定你没有多打个空格?
相似回答