10|[1-9] 和[1-9]|10

某种意义上来说其实这两种是等效的(一会儿有详细说),只不过楼主的写的不严谨!

如果楼主想匹配的是1-10,那我来猜猜楼主的几种写法:(专讲数字,不讲字符串)

第1种:/10|[1-9]/; 这种写法的特点在哪呢?这个正则其实匹配的是除0以外的所有正整数,为什么?因为[1-9]说的是只要验证的这个数包含1到9的任意数字,均会返回true。"10|"是多余的,没有这个也是能返回true。

第2种:/[1-9]|10/; 这种情况同第1种,不多说,匹配的是除0以外任何数。

第3种:/^10|[1-9]$/; 这种写法较第1种成熟些,但仍不严谨,因|的优先级较弱,所以可以这么理解,以10开头,或者[1-9]结尾,也就是说匹配尾数不为0的任何数,20,30,....10000,但由于^10,所以,10可以匹配。

第4种:/^[1-9]|10$/; 这种写法在理解上,同第3种,只不过匹配的是以1到9中任意数为开头的数字。想一想,除了0,哪些数字是以1,2...9开头的数字?所有数!

第5种/^(10|[1-9])$/; 这种才是匹配1-10的正确写法!效果同/^([1-9]|10)$/;
既然是正确的就没什么好说的了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值