下面是分析过程。结果在文末展示,欢迎大家提出建议和更有效的方法,谢谢~
1.先拆分255
数值范围 | 扩展正则表达式 | 合并 |
---|---|---|
0-9 | [0-9] | [1-9]?[0-9] |
10-99 | [1-9][0-9] | |
100-199 | 1[0-9]{2} | |
200-249 | 2[0-4][0-9] | |
250-255 | 25[0-5] |
0-255的表达式为:( [1-9]?[0-9] | 1[0-9]{2} | 2[0-4][0-9] | 25[0-5] ) #用逻辑或来合并
xxx.xxx.xxx.的表达式为:(( [1-9]?[0-9] | 1[0-9]{2} | 2[0-4][0-9] | 25[0-5] )\.){3} # \ . 表示“.” 整体重复3次
2.综合起来结果如下
(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])
3.例子:
ifconfig | grep -Eo "(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])"