java正则表达式校验 ip

2025-01-07 00:59:44
推荐回答(2个)
回答1:

你直接用matchs判断就可以了,matcher是只要内部有能匹配上的就算满足,不是判断整体。

String rexp = "([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}";
String addr = "11111.1.1.1";
System.out.println("1.1.1.1".matches(rexp));
System.out.println("11.1.1.1".matches(rexp));
System.out.println("111.1.1.1".matches(rexp));
System.out.println("11111.1.1.1".matches(rexp));

true

true

true

false

回答2:

..............加上^和$