太阳集团tyc5997|官网【中国】有限公司

RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
扫码咨询
关闭右侧工具栏
IPV4和IPV6正则表达式的深入讲解
  • 作者:admin
  • 发表时间:2020-12-16 07:50
  • 来源:未知

这篇文章主要给大家介绍了关于IPV4和IPV6正则表达式的相关资料,文中介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

IPV4正则表达式

Ipv4地址分为ABCDE五大类,其中ABC类是普通ip地址,D类是组播地址,E类保留,作为研究之用。

范围分别为:

A: 1.0.0.1 ―一126.155.255.255

内网地址范围:10.0.0.0 一一10-255.255.255

B: 127.0.0.1 —191.255.255.255

内网地址范围:172.16.0.0——172.31.255.255

C: 192.0.0.1 —223.255.255.255

内网地址范围:192.168.0.0—一192.168.255.255

D: 224.0.0.1 —239.255.255.255

E: 240.0.0.1 —255.255.255.255

我们的正则要求ip必须是ABC类地址。每个字节的第一个数字可以为0,比如说01, 001。

1. ip的第一个字节分作以下几种情况:

1.长度为3且以2开头,范围为200-223

正则:22[0-3]丨2[0-1][0-9]

2.长度为3且以0或1开头

正则:[0-1][0-9][0-9]

3.长度为1或2

正则:([0-9])]{1,2}

所以第一个字节的表达式为:

(22[0-3]丨2[0-1][0-9]|

[0-1][0-9][0-9]|

0[1 -9][0-9]|

([0-9])]{1,2})

2. 后面三个字节范围为0-255,前面有一个点

分为以下几种情况:

1. 以2开头

正则:25[0-5]|2[0-4][0-9]

2. 以1和0开头的情况和第一个字节相同。

所以,单个字节的正则表达式:

([.]

(25[0-5]|2[0-4][0-9]|

[0-1][0-9][0-9]|

0[1 -9][0-9]|

([0-9])]{1,2}))

3. 加上点号和重复三次,以及开始和结尾匹配符,IPV4最终正则表达式变为:

((22[0-3]丨2[0-1][0-9]|[0-1][0-9][0-9]|0[1 -9][0-9]|([0-9])]{1,2})([.](25[0-5]|2[0-4][0-9]|[0-1][0-9][0-9]|0[1 -9][0-9]|([0-9])]{1,2})){3})

点号之所以用中括号括起来是因为如果不扩起来是匹配任意字符。也可以用两个反斜杆转义。

加上行首和行尾匹配符:

(^((22[0-3]丨2[0-1][0-9]|[0-1][0-9][0-9]|0[1 -9][0-9]|([0-9])]{1,2})([.](25[0-5]|2[0-4][0-9]|[0-1][0-9][0-9]|0[1 -9][0-9]|([0-9])]{1,2})){3})$)

IPV6正则表达式

IPV6介绍

IPV6的长度是128位,相比于ipv4的32位,极大的扩展了ip地址可用空间。ipv4地址现在被视为一种稀缺资源,而ipv6地址相当充足,在可以预见的未来是用不完的。有这样一段描述:如果地球表面(含陆地和水面)都覆盖着计算机,那么IPv6允许每平方米拥有7*10A23个IP地址;如果地址分配的速率是每微秒100万个,那么需要10A19年才能将所有的地址分配完毕。

IPv6地址表示

IPv6的128位地址通常写成8组,每组为四个十六进制数的形式。比如:

AD80:0000:0000:0000:ABAA:0000:00C2:0002

Baidu
sogou