题解 | #合法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);
    }
}

//不太熟悉正则,只能穷举了,正则匹配起来也不太简单。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务