正则表达式问题: [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到三位的合法数字 我现在想加上 对零的匹配.
但这样的格式不正确. ([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-99...