Java判断ip地址合法性的正则表达式

public static boolean ipCheck(String text) {
        if (text != null && !text.isEmpty()) {
            // 定义正则表达式
            String regex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
                      + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
                      + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
                      + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
            // 判断ip地址是否与正则表达式匹配
            if (text.matches(regex)) {
                // 返回判断信息
                return true;
            } else {
                // 返回判断信息
                return false;
            }
        }
        return false;
    }

正则表达式说明:
1、使用4个字符串代表IP地址的4个部分"^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
2、由于.在正则中有特殊含义,代表一个字母。用.本身需要转义加\,由于在字符串中\也需要转义,所以用\\.
3、(和)表示分组
4、|表示或者,逻辑或
5、1\\d{2}表示,第一个数字是1,后面跟数字,数字的长度是2,任意数字(范围100 —— 199)
6、2[0-4]\\d表示,第一个数字是2,后面跟一个范围0到4的数字,后面跟一位任意位数字(范围200 —— 249)
7、25[0-5]表示,前两个数字是25,后面跟一个范围0到5的数字(范围250 —— 255)
8、[1-9]\\d表示,第一个是范围1到9的数字,后面跟一位任意数字(范围10 —— 99)
9、[1-9]表示,一个范围1到9的数字(范围1 —— 9)

正则表达式验证地址:https://regexr.com/
 

猜你喜欢

转载自blog.csdn.net/csj50/article/details/86538497