IP地址的正则表达式校验

论坛 期权论坛 脚本     
匿名网站用户   2020-12-21 04:41   53   0

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

也希望各位多提意见!

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP