JAVA后端的多IP地址验证正则表达式
2018-03-06 10:14
253 查看
最近在开发项目时遇到了需要验证多个IP地址的情况,于是想用正则表达式来解决问题,在网上搜了很多,大部分都是单个IP地址的正则验证,或者是有多个IP地址验证,但并不严谨,于是我结合了一下,并通过不停的测试,最后得到了以下这个算是比较严谨,并可以验证多个IP的正则表达式了:
(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])){3}(\\s*,\\s*(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])(\\.(\\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])就是单独的三位以内数字,范围限定在0-255
(\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])){3}就是“.”+三位以内数字,后面的{3}为重复三次,加上上面的组成了一个完整的IP地址,这一部分可以用做验证单个IP
(\\s*,\\s*(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])){3})* 这部分完全Copy了上一部分,区别在于\\s*,\\s* 用作验证“,”分隔,\\s*是允许逗号前后有空格存在,最后部分的*号表示可以重复,也就可以进行多IP验证了。
测试方法相信大家都会写:
![](https://img-blog.csdn.net/20180306101258486?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzc2OTQ0MjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
相信大家自己试一下就知道了。
(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])){3}(\\s*,\\s*(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])(\\.(\\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])就是单独的三位以内数字,范围限定在0-255
(\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])){3}就是“.”+三位以内数字,后面的{3}为重复三次,加上上面的组成了一个完整的IP地址,这一部分可以用做验证单个IP
(\\s*,\\s*(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])){3})* 这部分完全Copy了上一部分,区别在于\\s*,\\s* 用作验证“,”分隔,\\s*是允许逗号前后有空格存在,最后部分的*号表示可以重复,也就可以进行多IP验证了。
测试方法相信大家都会写:
相信大家自己试一下就知道了。
相关文章推荐
- java正则表达式验证IP,邮箱类
- 使用Java正则表达式验证邮件地址
- java使用正则表达式验证IP V4、 IP V6
- Java中各种正则表达式验证[邮箱、密码前后空格、日期合法、IP]
- java正则表达式验证手机号码ip,邮箱
- java正则表达式验证IP,日期和邮箱格式有效性
- java正则表达式验证手机号码ip,邮箱
- [转]java正则表达式验证手机号码ip,邮箱
- java正则表达式验证手机号码ip,邮箱
- Python验证Url地址的正则表达式
- 正则表达式验证是否为ip
- java对身份证验证及正则表达式解析
- JAVA基础—常用正则表达式验证
- Java 使用正则表达式取出图片地址以及跳转的链接地址,来判断死链(一)
- java 正则表达式获得html字符串中<img src>中的src中的url地址
- java正则表达式验证标点符号
- java正则表达式验证邮箱、IP地址、手机号码
- Java常用正则表达式验证工具类RegexUtils.java
- Java正则表达式(一)、抓取网页email地址实例
- Java正则表达式验证工具类(未测试)