IP地址的正则表达式写法

这里讲的是IPv4的地址格式,总长度 32位=4段*8位,每段之间用.分割, 每段都是0-255之间的十进制数值。

将0-255用正则表达式表示,可以分成一下几块来分别考虑:

取值区间 特点 正则写法 可合并的写法 可合并的写法 可合并的写法
0-9 一位数,只有个位,取值是0~9 \d [1-9]?\d (1\d{2})|([1-9]?\d)

(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))

10-99

两位数,十位取值1-9,个位取值是0~9 [1-9]\d
100-199 三位数,最高位取值为1,十位取值0-9,个位取值0-9 1\d{2}  -
200-249 三位数,最高位取值为2,十位取值0-4,个位取值0-9 2[0-4]\d  -  -
250-255 三位数,最高位取值为2,十位取值5,个位取值0-5 25[0-5]  -  -

IP地址格式可表示为:XXX.XXX.XXX.XXX,XXX取值范围是0-255,前三段加一个.重复了三次,在与最后一段合并及组成IP地址的完整格式。

所以IP地址的正则表示法如下:

((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))

IP地址正则表达式的写法的更多相关文章

  1. ip地址正则表达式

    p = re.compile('^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$') if p.match(dom ...

  2. 正确的IP地址正则表达式

    ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

  3. IP地址的正则表达式

    关键字:IP地址 正则表达式作者:txw1958出处:http://www.cnblogs.com/txw1958/archive/2011/10/13/ip_address_regular_expr ...

  4. mac地址和ip地址、子网掩码和默认网关

    MAC地址 MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址.硬件地址,用来定义网络设备的位置.在OSI模型中, ...

  5. 网络编程学习笔记-MAC地址和IP地址的关系

    简单地说:ip地址是服务商给你的,mac地址是你的网卡物理地址. 一.IP地址 对于IP地址,相信大家都很熟悉,即指使用TCP/IP协议指定给主机的32位地址.IP地址由用点分隔开的4个8八位组构成, ...

  6. IP地址和物理地址有什么区别

    所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址.简单地说就是你在整个互联网上的ID. MAC(Media Access Control,介质访问控制)地址 (物理地址)是 ...

  7. IP 和 IP地址的区别和联系

    IP(internet protocol) 网际协议 和IP地址有人会把“IP”和“IP 地址”搞混,“IP”其实是一种协议的名称.IP 协议的作用是把各种数据包传送给对方.而要保证确实传送到对方那里 ...

  8. [转]IP地址和MAV地址——区别和联系

    [转载]http://wenda.tianya.cn/question/27f9476d1e86f6b6 一.IP地址  对于IP地址,相信大家都很熟悉,即指使用TCP/IP协议指定给主机的32位地址 ...

  9. IP地址的正则表达式写法

    这里讲的是IPv4的地址格式,总长度 32位=4段*8位,每段之间用.分割, 每段都是0-255之间的十进制数值. 将0-255用正则表达式表示,可以分成一下几块来分别考虑: 取值区间 特点 正则写法 ...

随机推荐

  1. 微信小程序data-传参

    <view bindtap="change" data-index="{{index}}">哈哈</view> change(event ...

  2. Python中,标识符用法

    Python中,标识符 在Python中,所有标识符都可以包括英文.数字和下划线(),但不能包括数字.python中的标识符区分大小写.这是知识的背景.但通常,Python成为以下划线开头的标识符的习 ...

  3. 使用display:table实现两列自适应布局

    在张鑫旭大神那边看到的方法,我自己写了一遍,稍微添加了一些自己的风格特色. IE6/7不支持这个属性,从IE8开始支持这个属性,对于IE6/7可以用display:inline-block解决. ta ...

  4. Mysql与java对应的类型表

    1. 概述 在使用Java JDBC时,你是否有过这样的疑问:MySQL里的数据类型到底该选择哪种Java类型与之对应?本篇将为你揭开这个答案. 2. 类型映射  java.sql.Types定义了常 ...

  5. libusb移植

    下载 https://sourceforge.net/projects/libusb/ 编译 # ./configure --build=i686-linux --host=arm-linux --p ...

  6. 简单服务器通信 模型socketserver

    硬件服务器:主机 集群 厂商 :IBM   HP  联想  浪潮 软件服务器 :编写的服务端应用程序,在硬件服务器上运行,一般依托于操作系统,给用户提供一套完整的服务 httpserver --> ...

  7. 前端基础(七):Toastr(弹出框)

    Toastr 简介 jquery toastr 一款轻量级的通知提示框插件. 网页开发中经常会用到提示框,自带的alert样式无法调整,用户体验差. 所以一般通过自定义提示框来实现弹窗提示信息,而jq ...

  8. (十一)tina | openwrt关闭调试串口(DEBUG UART)

    //编辑以下文件 vi target/allwinner/astar-parrot/base-files/etc/inittab  //不同系统文件路径注意更改 //文件内容如下,注释::askcon ...

  9. 一 :了解MVC

    介绍 1. ASP.NET WebForm和ASP.NET MVC是并行的关系.都是属于.NET框架下的子框架. 2. MVC项目常用模板 空模板 :   不包含MVC目录结构,需要自己添加. 基本模 ...

  10. (6)python基础数据类型

    python的六大标准数据类型 (一)Number   数字类型(int float bool complex) (二)String 字符串类型 (三)List 列表类型 (四)Tuple 元组类型 ...