IP地址正则表达式

正则表达式对字符进行格式化匹配,一句指令完成判断。

IP地址格式   x.x.x.x

x 表示0~255的数字

分三种情况

A.          250-255:特点:三位数,百位是2,十位是5,个位是0~5,用正则表达式可以写成:25[0-5]

B.          200-249:特点:三位数,百位是2,十位是0~4,个位是0~9,用正则表达式可以写成:2[0-4]\d

C.          0-199:这个可以继续分拆,这样写起来更加简单明了.

C.a.    0-9:    特点:一位数,个位是0~9,用正则表达式可以写成:\d

C.b.    10-99:  特点:二位数,十位是1~9,个位是0~9,用正则表达式可以写成:[1-9]\d

C.c.    100-199:特点:三位数,百位是1,十位是0~9,个位是0~9,用正则表达式可以写成:1\d{2}

于是0-99的正则表达式可以合写为[1-9]?\d,那么0-199用正则表达式就可以写成(1\d{2})|([1-9]?\d),这样0~255的正则表达式就可以写成(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))

最后,前面3段加上句点.可以使用{3}重复得到,第4段再来一次同样的匹配,得到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))))$
 
每个符号代表的含义,参考MSDN
 
文章内容参考源网页

IP地址正则表达式

时间: 2024-10-17 09:59:05

IP地址正则表达式的相关文章

判断 IP地址 的正则表达式

关键字:IP地址 正则表达式作者:txw1958出处:http://www.cnblogs.com/txw1958/archive/2011/10/13/ip_address_regular_expression.html IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用英文句点"."隔开.例如:某台计算机IP地址为10.11.44.100. 分析IP地址的组成特点:250-255.200-249.0-199. 这三种情况可以分开考虑

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

如何使用正则表达式匹配IP地址?这是很常见的任务.说难也难,说易也易,取决于在匹配的精确度以及正则表达式复杂度之间很好的折中. 通常,IP地址以点分十进制方式表示,IP地址分为4段,以点号分隔.要对IP地址进行匹配,首先要对其进行分析.0.0.0.0 - 255.255.255.255 一个简单的正则表达式: [0-9]+(?:\.[0-9]+){0,3} 或者 ^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$ 它能够完成我们的任务,但是像"3948.3.89.34238"

[转]验证E-mail、用户名、社保号、IP地址等10个实用的PHP正则表达式

1. 验证E-mail地址 这是一个用于验证电子邮件的正则表达式.但它并不是高效.完美的解决方案.在此不推荐使用. $email = "[email protected]"; if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email)) { echo "Your email is ok.";

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

Java正则表达式:iPv4的ip地址

iPv4的ip地址都是(1~255).(0~255).(0~255).(0~255)的格式 下面给出相对应的正则表达式: "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\." +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\." +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\." +"(1\\d{2}|2[0-4

<转>常用正则表达式大全,手机、电话、邮箱、身份证(最严格的验证)、IP地址、网址、日期等,一般前台js验证

< script type = "text/javascript" > /* * 手机号码格式 * 只允许以13.15.18开头的号码 * 如:13012345678.15929224344.18201234676 */ var regMobile = /^1[3,5,8]\d{9}$/; /* * 固定电话号码格式 * 因为固定电话格式比较复杂,情况比较多,主要验证了以下类型 * 如:010-12345678.0912-1234567.(010)-12345678.(09

IP地址(IPv4)/IPv6地址的正则表达式

原地址:http://pfeishao.blog.163.com/blog/static/18162337020112113130453/ Pv4地址正则表达式:^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$测试环境:Javascript/.Net/C++/JAVA特点:匹配IPv4地址 IPv6地址正则表达式:^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$测试环境:Javasc

常用正则表达式大全,手机、电话、邮箱、身份证(最严格的验证)、IP地址、网址、日期等,一般前台js验证

<script type="text/javascript">/* * 手机号码格式 * 只允许以13.15.18开头的号码 * 如:13012345678.15929224344.18201234676 */var regMobile=/^1[3,5,8]\d{9}$/; /* * 固定电话号码格式 * 因为固定电话格式比较复杂,情况比较多,主要验证了以下类型 * 如:010-12345678.0912-1234567.(010)-12345678.(0912)12345

QT正则表达式---针对IP地址

判断合法IP的QT正则表达式: bool IsIPaddress(QString ip) { QRegExp rx2("(//d+)(//.)(//d+)(//.)(//d+)(//.)(//d +)"); int pos = rx2.indexIn(ip); if(pos>-1)    { for(int i=0;i<4;i++)        {            if( rx2.cap(i*2+1).toInt()>=255 )            {