IP地址的正则表达式校验

首先感谢各个网友分享的资源,自己模仿写了个校验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/
     
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  版权信息

也希望各位多提意见!

你可能感兴趣的:(正则表达式,正则表达式,IP地址)