IPV4必须满足以下四条规则:
1、任何一个1位或2位数字,即0-99;
2、任何一个以1开头的3位数字,即100-199;
3、任何一个以2开头、第2位数字是0-4之间的3位数字,即200-249;
4、任何一个以25开头,第3位数字在0-5之间的3位数字,即250-255。
这样把规则全部罗列出来之后,构造一个正则表达式的思路就清晰了。
首先满足第一条规则的正则是:d{1,2}
首先满足第二条规则的正则是:1d{2}
首先满足第三条规则的正则是:2[0-4]d
首先满足第四条规则的正则是:25[0-5]
结果:(d{1,2})|(1d{2})|(2[0-4]d)|( 25[0-5]) 然后又三组包括.的 一组不包括.的
最终:( ( (d{1,2}) | (1d{2}) | (2[0-4]d) | (25[0-5]) ) . ){3}
((d{1,2})|(1d{2})|(2[0-4]d)|(25[0-5]))