IP地址&MAC地址的正则匹配

直接进主题。

IP地址:

IP地址的范围: 0.0.0.0 - 255.255.255.255

思路:

我们按点分割成4个数字段,每个数字段的匹配规则是一样的,每个数字段 0-255。

分情况:

1
2
3
4
- 第一位数字为00 // 0开头只能是0
- 第一位数字为11\d{0,2} // 1开的的个,十,百位数
- 第一位数字为22\d?|2[0-4]\d|25[0-5] // 2开的的个,十位数,200-249,250-255
- 第一位数字为3-9: [3-9]\d? // 3-9开头的个,十位数

合起来就是: 0|(1\d{0,2})|(2\d?|2[0-4]\d|25[0-5])|[3-9]\d?

总的正则: ((0|(1\d{0,2})|(2\d?|2[0-4]\d|25[0-5])|[3-9]\d?)\.){3}(0|(1\d{0,2})|(2\d?|2[0-4]\d|25[0-5])|[3-9]\d?)

注意: 括号一定记得加!


MAC地址:

MAC地址为6组2位的十六进制的数字组成。
MAC地址的范围: 00:00:00:00:00:00 - FF:FF:FF:FF:FF:FF

思路:

分成六组,匹配00-FF。

1
[A-Fa-f0-9]{2}

总的正则:([A-Fa-f0-9]{2}\:){5}[A-Fa-f0-9]{2}