当前位置:编程学习 > C#/ASP.NET >>

验证ip地址的正则表达式

方法1.  string exp = @"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$"; 

方法2.string exp = @"^((25[0-9]|2[0-4][0-9]|1[0-9]{2}|1[0-9]|[0-9])\.)\1{3}(25[0-9]|2[0-4][0-9]|1[0-9]{2}|1[0-9]|[0-9])$";

请问,如上两种方式有什么不同吗?为什么方法1能验证出来,方法2验证不出来呢??
--------------------编程问答-------------------- 有点深奥~~~~~~~~~~~ --------------------编程问答-------------------- 不是吧,我用的是最简单的方式了,表达式都是直白的,都没用代号 --------------------编程问答-------------------- 第二个明显不正确
--------------------编程问答-------------------- 第二个式子中的25[0-9]明显不对,不能超过255
--------------------编程问答-------------------- 同意楼上的说法。。 --------------------编程问答-------------------- 第二个式子应该是这样的:string exp = @"^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\.){3}\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$"; --------------------编程问答-------------------- 要简单还是安全可靠?这是个问题。。。路过。。。 --------------------编程问答-------------------- 验证ip地址不应该用正则,有现成的方法:
		IPAddress ipAddress;
if(IPAddress.TryParse("126.88.96.254", out ipAddress))
//合法
else
//不合法
--------------------编程问答-------------------- 方法2确实是25[0-5],但是还是不行,验证不出来

另外楼上说的现成的方法不适合我现在要做的功能哦... --------------------编程问答-------------------- jsddj 
为什么你要在{3}后再加个\.呢?这个.我已经在前边验证了啊
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,