ipv4的格式: ×××.×××.×××.×××
每一个×××的取值范围是0-255
可以把数字分成几段来解析
- 0-99: [1-9]?\d
- 100-199: 1\d{2}
- 200-249: 2[0-4]\d
- 250-255: 25[0-5]
使层次更加清晰,可以分两组:
- 0-199: ( [1-9]?\d|1\d{2})
- 200-255: (2[0-4]\d|25[0-5])
组合起来,一个xxx的正则为:
(([1-9]?\d|1\d{2})|2[0-4]\d|25[0-5])\.
完整匹配ipv4的正则,最后一个没有 . , 所以单独写:
((([1-9]?\d|1\d{2})|2[0-4]\d|25[0-5])\.){3}(([1-9]?\d|1\d{2})|2[0-4]\d|25[0-5])