这篇文章将为大家详细讲解有关怎么在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; } }
运行结果如下图:
可见倒数第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就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。