java正则表达式 matches方式匹配ip
2017-07-21 16:53
363 查看
最近遇到了一个要校验ipv4 ipv6格式的问题,应用正则表达式方便简单,代码如下,已经通过验证,可方便判断字符串是否为正确ip
/** * @Title: isIPAddress ip校验 * @Description: 判断IP格式的正确性 * @param ip 包含IP串 例:ipv4:192.168.19.12|ipv6:1030::C9B4:FF12:48AA:1A2B * @return boolean 是否验证通过 */ public boolean isIPAddress(String ip) { String regex = "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\." + "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\." + "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\." + "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"; String regex2="^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|" + "(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|" + "(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|" + "(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|" + "(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|" + "(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|" + "(([0-9A-Fa-f]{1,4}:){6}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))" + "\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|" + "(\\d{1,2}))\\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\\b((25[0-5])|" + "(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|" + "(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|" + "(::([0-9A-Fa-f]{1,4}:){0,5}((\\b((25[0-5])|" + "(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|" + "(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|" + "([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|" + "(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|" + "(([0-9A-Fa-f]{1,4}:){1,7}:))$"; if (ip.matches(regex)) { return true; }else if(ip.matches(regex2)){ return true; } return false; }
相关文章推荐
- 代码笔记 | java 正则表达式高级篇(四种常用的处理方式:匹配 分割 替代 获取)
- java匹配IP正则表达式
- java正则表达式的匹配结果遍历方法find()和matches()不同
- java 正则表达式高级篇(四种常用的处理方式:匹配 分割 替代 获取)
- java 匹配ip的正则表达式
- java正则表达式的匹配结果遍历方法find()和matches()不同
- java 正则表达式高级篇(四种常用的处理方式:匹配 分割 替代 获取)
- java匹配IP正则表达式
- 使用Java正则表达式匹配IP
- Java正则表达式中匹配汉字问题
- Java正则表达式pattern和matches
- java中常用的匹配正则表达式实例大全
- 正则表达式知识详解之匹配开头或结尾 (java版示例)
- java 正则匹配 特殊字符 减号- 的情况,处理方式
- JAVA使用正则表达式匹配
- Java 正则表达式 量词 --- 三种匹配模式【贪婪型、勉强型、占有型】
- JAVA正则表达式,matcher.find()和 matcher.matches()的区别
- 学习Java正则表达式(匹配、替换、查找)
- JAVA 正则表达式:使用group方法计算匹配到的字符串个数
- java正则表达式验证IP,邮箱类