博客
关于我
正则表达式匹配IP地址
阅读量:551 次
发布时间:2019-03-09

本文共 696 字,大约阅读时间需要 2 分钟。

IP地址由四个字节构成,每个字节的范围在0到255之间。为了有效匹配IP地址的各个部分,可以将它们分成两部分进行处理:前三部分和后三部分。

首先,分析每个IP段的范围

  • 0到255可以进一步分为两部分:

    • 0到199:可以表示为 [0-1]?\\d{1,2}

      • [0-1]? 表示0或1作为前导数字,0次或1次。
      • \\d{1,2} 表示1或2个数字,范围在0到9之间。
    • 200到255:可以表示为 2((5[0-5])|[0-4]\\d)

      • 2 表示以2开头。
      • (5[0-5]) 表示50到55之间的数字。
      • [0-4]\\d 表示00到49之间的数字。
  • 因此,完整的正则表达式可以分为以下几个部分:

    • (2((5[0-5])|[0-4]\\d))[0-1]?\\d{1,2}
  • 第二部分,点号后面的IP段

  • 点号后接的0到255部分的正则表达式为:.后跟上述两种表达式
  • 第三部分,点号后面的IP段的重复匹配

    为了确保点号后面的IP段出现三次,正则表达式可以写为:\\.后面跟着上述两种表达式\\)重复三次`.

    综合起来

  • IP地址的整个结构可以表示为:^ (整体表达式) $ where:((2((5[0-5])|[0-4]\d))|[0-1]?\d{1,2})\.重复三次.

  • 例如:

    • `^((2((5[0-5])|[0-4]\d))|[0-1]?\d{1,2}){3}.((2((5[0-5])|[0-4]\d))|[0-1]?\d{1,2})){3}$这将确保整个IP地址按照指定格式出现三次.
  • 这样的结构确保了只有以.^ triplet结构出现的IP地址才被匹配,符合标准的网络格式要求。

    转载地址:http://wqksz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现循环队列链表算法(附完整源码)
    查看>>
    Objective-C实现快速排序算法(附完整源码)
    查看>>
    Objective-C实现打印魔方矩阵(附完整源码)
    查看>>
    Objective-C实现打格点算法(附完整源码)
    查看>>
    Objective-C实现批量修改文件类型算法(附完整源码)
    查看>>
    Objective-C实现找出一个数的质因数primeFactors算法(附完整源码)
    查看>>
    Objective-C实现找出买卖股票的最大利润算法(附完整源码)
    查看>>
    Objective-C实现摄氏温度和华氏温度互转(附完整源码)
    查看>>
    Objective-C实现操作MySQL(附完整源码)
    查看>>
    Objective-C实现操作注册表 (附完整源码)
    查看>>
    Objective-C实现改变图片亮度算法(附完整源码)
    查看>>
    Objective-C实现数字图像处理算法(附完整源码)
    查看>>
    Objective-C实现数组去重(附完整源码)
    查看>>
    Objective-C实现数组的循环左移(附完整源码)
    查看>>
    Objective-C实现数除以二divideByTwo算法(附完整源码)
    查看>>
    Objective-C实现文件分割(附完整源码)
    查看>>
    Objective-C实现文件的删除、复制与重命名操作实例(附完整源码)
    查看>>
    Objective-C实现无序表查找算法(附完整源码)
    查看>>
    Objective-C实现无锁链表(附完整源码)
    查看>>
    Objective-C实现时间戳转为年月日时分秒(附完整源码)
    查看>>