数值型正则在实际应用中还是比较多见的,如判读合法IP段,合法邮编和电话等等都属于数值型正则应用范畴。
一个正则误区是通过[0-128]来表示数值0-128的数值区间。正确的用法应该分为多个特殊情况,分别写出正则后用|链接。
如例:一个192.168.0.0-192.168.0.128的ip段判断,可写出正则如下:
前面192.168.0.的属于直接匹配,后面的0-128可分为四种情况,
第一种,0-9的情况,可通过[0-9]来匹配,
第二种,10-19的情况,可通过[1-9][0-9]来匹配,
第三种,100-119,可通过1[0-1][0-9]来匹配,
第四种,120-128的范畴,可通过12[0-8]来匹配,然后通过|符号链接。
其他类似情况依次类推。
一个正则误区是通过[0-128]来表示数值0-128的数值区间。正确的用法应该分为多个特殊情况,分别写出正则后用|链接。
如例:一个192.168.0.0-192.168.0.128的ip段判断,可写出正则如下:
^192\.168\.0\.([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8])$
前面192.168.0.的属于直接匹配,后面的0-128可分为四种情况,
第一种,0-9的情况,可通过[0-9]来匹配,
第二种,10-19的情况,可通过[1-9][0-9]来匹配,
第三种,100-119,可通过1[0-1][0-9]来匹配,
第四种,120-128的范畴,可通过12[0-8]来匹配,然后通过|符号链接。
其他类似情况依次类推。