题解 | #合法IP#
合法IP
https://www.nowcoder.com/practice/995b8a548827494699dc38c3e2a54ee9
// TMD,普通形式的判断太麻烦了,给我学正则表达式
import java.util.*;
public class Main{
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
String ip;
while(sc.hasNext()){
ip=sc.next();
if(isValid(ip)){
System.out.println("YES");
}else{
System.out.println("NO");
}
}
}
public static boolean isValid(String ip){
// 25[0-5] 匹配250-255
// 2[0-4][0-9] 匹配200-249
// 1[0-9][0-9] 匹配100-199
// [1-9][0-9] 匹配10-99
// [0-9] 匹配0-9
// \\. 匹配句点
String pattern="((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])";
return ip.matches(pattern);
}
}
//不太熟悉正则,只能穷举了,正则匹配起来也不太简单。

查看11道真题和解析