匹配1位数字或2位数字:
^\d|\d\d$
结果3位数字也能匹配!我明明加了^$这样的起止符,为何没起到限定作用呢?(上面是个小测试,我实际需求是0-65535之间的数字,最多4位小数。后来发现存在上面的问题)环境:vs2005,c#,.net2.0
^\d|\d\d$
结果3位数字也能匹配!我明明加了^$这样的起止符,为何没起到限定作用呢?(上面是个小测试,我实际需求是0-65535之间的数字,最多4位小数。后来发现存在上面的问题)环境:vs2005,c#,.net2.0
调试欢乐多
因为你的|,你的正则可以理解为你\d开头,以\d\d结尾的可以把你的修改为:^(\d|\d\d)$
//当然,这种简单的是没必要这样写的
^\d{1,2}$
(^\d)|(\d\d$)
了,正确的写法是3楼的
^(\d|\d\d)$
^(\d|\d\d)$
^(\d|([1-9]\d)|([1-9]\d{2})|([1-9]\d{3})|([1-5]\d{4})|(6[0-4]\d{3})|(65[0-4]\d{2})|(655[0-2]\d)|(6553[0-5]))(\.\d{1,4})?$谢谢大家,结贴。