正则匹配IP地址

描述

IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用英文句点 "." 隔开。

分析IP地址的组成特点:250-255、200-249、0-199。 分开考虑:

  1. 250-255:特点:三位数,百位是2,十位是5,个位是0~5,用正则表达式可以写成:25[0-5]
  2. 200-249:特点:三位数,百位是2,十位是04,个位是09,用正则表达式可以写成:2[0-4]
  3. 0-199:这个可以继续分拆,这样写起来更加简单明了.
    1. 0-9: 特点:一位数,个位是0~9,用正则表达式可以写成:
    2. 10-99: 特点:二位数,十位是19,个位是09,用正则表达式可以写成:[1-9]
    3. 100-199:特点:三位数,百位是1,十位是09,个位是09,用正则表达式可以写成:1

于是正则为 (([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])

代码

测试

参考资料

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注