IP地址的正则表达式校验

2/22/2017来源:ASP.NET技巧人气:3151

首先感谢各个网友分享的资源,自己模仿写了个校验ip地址合法性的正则表达式。

最终得到了终极版的正则表达式

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

具体测试代码如下:

package regexTest;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TestRegex {
	public static void main(String[] args) {
		iPRegex();
	}

	/**
     	*    ip地址合法校验
     	*  1		25[0-5]                     	250-255
     	*  2		2[0-4]\\d                    	200-249
     	*  3		[1]{1}\\d{1}\\d{1}   		100-199
     	*  4		[1-9]{1}\\d{1}			10-99
     	*  5		\\d{1}				0-9
     	*  6		($|(?!\\.$)\\.)               	结束 或者 不以.结束的加上.
     	*  7		(?!^0{1,3}(\\.0{1,3}){3}$)     	排除 0.0.0.0 		(?!^0{1,3}(\\.0{1,3}){3}$)^((25[0-5]|2[0-4]\\d|[1]{1}\\d{1}\\d{1}|[1-9]{1}\\d{1}|\\d{1})($|(?!\\.$)\\.)){4}$
     	*  8		(?!^255(\\.255){3}$)      	排除 255.255.255.255	(?!^255(\\.255){3}$)^((25[0-5]|2[0-4]\\d|[1]{1}\\d{1}\\d{1}|[1-9]{1}\\d{1}|\\d{1})($|(?!\\.$)\\.)){4}$
     	*/
	public static void ipRegex() {
		Pattern p = Pattern.compile("^((25[0-5]|2[0-4]\\d|[1]{1}\\d{1}\\d{1}|[1-9]{1}\\d{1}|\\d{1})($|(?!\\.$)\\.)){4}$");
		Matcher m = p.matcher("254.249.199.9");
		boolean b = m.matches();
		System.out.println(b);
	}
}

最感谢的是这位兄台的分享!引用了您的东西。

点击打开链接

作者:Zjmainstay      出处:http://www.cnblogs.com/Zjmainstay/       本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。  版权信息

也希望各位多提意见!