android访问ipv6地址格式,IPV6地址格式正则表达式

工作需要需要用正则表达式方式获取ipv6地址,找了很网页发现都不全面,因为ipv6地址不仅仅包含“:”、而且包含“::”和掩码"/xxx"。

1、IPv6首选格式

将IPv6中的128位,也就是共32个字符完完整整,一个不漏地全写出来,比如下面就是一些IPv6地址的首选格式表示形式:

0000:0000:0000:0000:0000:0000:0000:0000

0000:0000:0000:0000:0000:0000:0000:0001

2001:0410:0000:1234:FB00:1400:5000:45FF

3ffe:0000:0000:0000:1010:2a2a:0000:0001

FE80:0000:0000:0000:0000:0000:0000:0009

FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF

2、IPV6 压缩格式

从前面一个IPv6地址表示方法首选格式表示方法中可以看出,一个完整的IPv6地址中,会经常性的出现许多个0,而我们知道,许多时候,0是毫无意义的,0表示没有,写出来,也表示没有,不写,也同样表示没有,那么我们就考虑能否将不影响地址结果的0给省略不写,这样就可以大大节省时间,也方便人们阅读和书写,这样的将地址省略0的表示方法,称为压缩格式。

经过测试以下正则表达式能完美匹配IPV6地址。

下面来看一些整个段4个字符都为0的IPv6地址使用压缩格式来表示:

例1:

压缩前:

0000:0000:0000:0000:0000:0000:0000:0000

压缩后:

::

说明:可以看出,由于这个地址的8个段全部都为0,所以只用::就将整个地址表示出来,当计算机拿到这个压缩后的地址时,发现比正常的128位少了128位,那么就会在::的地方补上128个0,结果为:

0000:0000:0000:0000:0000:0000:0000:0000

可以看出,计算机还原的地址就是压缩之前的真实地址。

例2:

压缩前:

0000:0000:0000:0000:0000:0000:0000:0001

压缩后:

::0001

说明:可以看出,压缩后的地址比正常的128位少了112位,计算机就会在::的地方补上112个0,结果为:

0000:0000:0000:0000:0000:0000:0000:0001

可以看出,计算机还原的地址就是压缩之前的真实地址。

例3:

压缩前:

2001:0410:0000: 0000:FB00:1400:5000:45FF

压缩后:

2001:0410 ::FB00:1400:5000:45FF

说明:可以看出,压缩后的地址比正常的128位少了32位,计算机就会在::的地方补上32个0,结果为:

2001:0410:0000: 0000:FB00:1400:5000:45FF

3、ipv6地址日常使用需要带掩码信息

目的是显示网络地址位。

华为路由器上常用的ipv6地址格式如下:

2409:8054:48::1006/128

2409:8055:48:1060::/127

2409:8055:48:1061::/127

4.正则表达式

(([a-f0-9]{1,4}:|){0,7}[::]{0,1}[a-f0-9]{1,4})/\d{0,3})

能够识别标准的ipv6地址,因工作中基本上都是2409:8054:48::1019/128这种地址。大家有没有好一点的建议。

4fda05e9763d

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值