题解 | #合法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); } } //不太熟悉正则,只能穷举了,正则匹配起来也不太简单。