使用正则表达式匹配IP地址

IP地址分为4段,以点号分隔。要对IP地址进行匹配,首先要对其进行分析,分成如下部分,分别进行匹配:
 

第一步:地址分析,正则初判 

  1. 1、0-9 d 进行匹配
  2. 2、10-99 [1-9]d 进行匹配
  3. 2、100-199 1dd 进行匹配
  4. 3、200-249 2[0-4]d 进行匹配
  5. 4、250-255 25[0-5] 进行匹配

第二步:正则合并  

  1. 基本表达式可以合并为:       d|[1-9]d|1dd|2[0-4]d|25[0-5]
  2. 前三部分正则表达式合并为:   ((d|[1-9]d|1dd|2[0-4]d|25[0-5]).){3}
  3. 前三部分加上最后一部分合并为:((d|[1-9]d|1dd|2[0-4]d|25[0-5]).){3}(d|[1-9]d|1dd|2[0-4]d|25[0-5])

第三步:进一步合并 

  1. 可以进一步合并为:((([1-9]?|1d)d|2([0-4]d|5[0-5])).){3}(([1-9]?|1d)d|2([0-4]d|5[0-5]))

第四:注意事项   

  1. 该正则表达式有两个缺陷:
  2. 0.0.0.0不能判断
  3. 255.255.255.255不能正确判断
  4. 这个问题需要使用其他代码进行辅助解决
原文地址:https://www.cnblogs.com/itcomputer/p/4849385.html