当前位置:  编程技术>.net/c#/asp.net

学习IP地址的正则表达式

    来源: 互联网  发布时间:2014-08-30

    本文导语:  IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用英文句点“.”隔开。 例如:某台计算机IP地址为10.11.44.100。 分析IP地址的组成特点:250-255、200-249、0-199。 可以分开考虑, 1、2...

IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用英文句点“.”隔开。
例如:某台计算机IP地址为10.11.44.100。

分析IP地址的组成特点:250-255、200-249、0-199。
可以分开考虑,
1、250-255:特点:三位数,百位是2,十位是5,个位是0~5,用正则表达式可以写成:25[0-5]
2、200-249:特点:三位数,百位是2,十位是0~4,个位是0~9,用正则表达式可以写成:2[0-4]d
3、0-199:这个可以继续分拆,这样写起来更加简单明了.
  3.1. 0-9:    特点:一位数,个位是0~9,用正则表达式可以写成:d
  3.2. 10-99:  特点:二位数,十位是1~9,个位是0~9,用正则表达式可以写成:[1-9]d
  3.3. 100-199:特点:三位数,百位是1,十位是0~9,个位是0~9,用正则表达式可以写成:1d{2}

于是0-99的正则表达式可以合写为[1-9]?d,那么0-199用正则表达式就可以写成(1d{2})|([1-9]?d),这样0~255的正则表达式就可以写成(25[0-5]|2[0-4]d|((1d{2})|([1-9]?d)))
最后,前面3段加上句点.可以使用{3}重复得到,第4段再来一次同样的匹配,得到IP地址的正则表达式:
 

代码示例:
((?:(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))).){3}(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))))

    
 
 

您可能感兴趣的文章:

  • JS 正则表达式的相关方法(正则学习笔记1)
  • java 正则表达式基础,实例学习资料收集大全 原创
  • 正则表达式口诀_学习正则的朋友值得一看
  • 常用正则表达式及评注-学习正则必备
  • 学习正则!超基础简单例子
  • 学习php中的正则表达式
  • JS 正则表达式(学习笔记2)匹配网址url参数
  • 正则表达式学习问答
  • 正则表达式 口诀 学习正则的朋友看看
  • 正则表达式 传智播客学习
  • 又一篇正则表达式学习笔记
  • Python模块学习 re 正则表达式
  • javascript的正则表达式学习资料复习
  • js 正则表达式学习笔记之匹配字符串
  • 重温JavaScript中的正则表达式 js学习笔记
  • 正则表达式口诀 正则表达式学习工具
  • 比较实用的正则表达式学习笔记
  • php 正则表达式学习笔记
  • C#中的正则表达式 学习资料
  • 正则表达式学习经验分析第1/2页
  • python之yield表达式学习
  • 学习 sql server 2005 公用表表达式(CTE)
  • Sql学习第三天——SQL 关于CTE(公用表达式)的递归查询使用
  • 正则表达式学习笔记
  • MySql官方手册学习笔记2 MySql的模糊查询和正则表达式
  • 正则表达式 学习参考 推荐入门者看
  • javascript高级程序设计(第三版)学习笔记(一) 正则表达式整理
  • 正则表达式高级学习技巧
  • 正则表达式口诀_学习正则的朋友值得一看 iis7站长之家
  • 正则表达式 学习资料整理
  • 正则表达式学习参考 正则入门学习资料
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • PHP介绍及学习网站推荐
  • 想深入学习Java应该学习哪些东西
  • 准备学习docker: docker version命令查看版本
  • 新手提问:学习c++同时也想学习unix和linux
  • HTML 学习总结及下一步学习教程推荐
  • 学习c后,学习pb,大家提点建议,谢谢哦
  • OpenStack相关学习资料搜集
  • 有最近开始学习Minix的吗?一起来学习吧
  • juqery的python实现:pyquery学习使用教程
  • 我想问问哪里有AIX下啊!~版本越新越好!~我想拿来学习学习
  • 想找共同学习Linux的新手,一起学习,共同成长
  • 学习java好 还是学习嵌入式开发好??
  • 学习linux网络编程需要学习些内核知识吗?
  • 我想学习linux桌面编程,那么有没有必要学习linux的内核以及内核的相关编程呢?
  • 从Delphi开始学习Java,如何学习Java.欢迎大家的光临!
  • 请问学习JAVABEANS是不是就是学习java.beans.*类库??
  • 谁有 电子版 mastering ejb 2e 多谢!!及学习EJB 集合什么实例学习比较快一点?
  • 我想学习Unix,请高手给个下载网址,用linux来学习Unix差别大吗?
  • 你们学习Linux是学习什么的?
  • 我想问一个大家,我现在刚学习LINUX,我想问一下在LINUX学习哪些知识有前途???
  • unix下C++代码中如何进行数据库操作?给个完整代码学习学习


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3