温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在Java项目中利用正则表达式验证IP

发布时间:2020-12-03 14:58:25 来源:亿速云 阅读:224 作者:Leah 栏目:编程语言

这篇文章将为大家详细讲解有关怎么在Java项目中利用正则表达式验证IP,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

具体方法如下:

package des;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IP {
 /**
 * @param args
 */
 public static void main(String[] args) {
 // TODO Auto-generated method stub
    IP p=new IP();
    String ii="127.0.0.1";
    String ii2="127.0.0.";
    String ii3="127.0.0.1000";
    String ii4="256.0.0.1";
    String ii5="127.0.0.gg";
    String ii6="127.h.0.1";
    String ii7="127.555.0.1";
    String ii8="127.00.0.1";
    String ii9="127.0.04.1";
    String ii10="127.100.#.1";
    String ii11="127.*.0.1";
    String ii12="127.0.0.000";
    String ii13="192.168.3.12";
    System.out.println("来自 www.jb51.net 的测试结果:");
    p.isMatches(ii);
    p.isMatches(ii2);
    p.isMatches(ii3);
    p.isMatches(ii4);
    p.isMatches(ii5);
    p.isMatches(ii6);
    p.isMatches(ii7);
    p.isMatches(ii8);
    p.isMatches(ii9);
    p.isMatches(ii10);
    p.isMatches(ii11);
    p.isMatches(ii12);
    p.isMatches(ii13);
 }
 public boolean isMatches(String ip){
 boolean flag=false;
 try{
//  String regex="[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+";
  String regex="^((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]|[*])\\.){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]|[*])$";
  //正确的是
//String regex="^((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]|[*])$";
//  String regex="\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\b";
  Pattern p=Pattern.compile(regex);
  Matcher m=p.matcher(ip);
  if(m.find()){
   System.out.println("successss");
  return true;
  }else{
  System.out.println("falsss");
  }
 }catch(Exception e){
  e.printStackTrace();
 }
 return flag;
 }
}

运行结果如下图:

怎么在Java项目中利用正则表达式验证IP

可见倒数第3个带有*的是错的,但还是输出成功了

将正则改成:

String regex="^((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]|[*])$";

测试结果如下:

怎么在Java项目中利用正则表达式验证IP

关于怎么在Java项目中利用正则表达式验证IP就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI