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