开发中遇到了“大于0小于等于1且小数点后不超过8位的正则表达式(排除0.0,0.00等,允许0.100等)”的需求,一开始只找到了以下正则表达式,
patern: /^(0\.\d{1,8}|1(\.0{1,8})?)$/
但该正则表达式无法排除0.0,0.00等情况,到处搜寻后发现了以下正则表达式,
patern: /^(0\.(?!0+$)\d{1,8}|1(\.0{1,8})?)$/
区别在于多了 (?!0+$) 这一段,目前只知道?!是正则中的正向否定预查断言,具体实现原理还不清楚。
借鉴于https://bbs.csdn.net/topics/340226911