HDOJ 2206 IP的计算(正则表达式的应用)

简介: Problem Description 在网络课程上,我学到了很多有关IP的知识。IP全称叫网际协议,有时我们又用IP来指代我们的IP网络地址,现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如192.168.100.16,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。

Problem Description
在网络课程上,我学到了很多有关IP的知识。IP全称叫网际协议,有时我们又用IP来指代我们的IP网络地址,现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如192.168.100.16,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。
但是粗心的我,常常将IP地址写错,现在需要你用程序来判断。

Input
输入有多个case,每个case有一行,不超过100个字符。

Output
对于每个case,判断输入的IP是否正确,如果正确输入YES,否则NO。

Sample Input
192.168.100.16

Sample Output
YES

首先看下IPv4的格式:

用JAVA的正则表达式很容易就写出来了。
不过需要注意的一点是”.“号的转义。

部分正则表达式符号的解释:
X? ( X一次或一次也没有)
X* ( X,零次或多次 )
X+ ( X,一次或多次 )
X{n} ( X,恰好 n 次 )
X{n,}( X,至少 n 次 )
X{n,m} (X,至少 n 次,但是不超过 m 次 )
X|Y (X 或 Y )
[abc] ( a、b 或 c(简单类) )
\d (数字:[0-9] )

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            String str = sc.nextLine();

            if(str.matches("(((25[0-5])|(2[0-4]\\d)|([01]?\\d\\d?))\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)")){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }
        }

    }

}

目录
相关文章
|
5月前
|
Java 测试技术
Java一分钟之-正则表达式在Java中的应用
【5月更文挑战第14天】正则表达式是Java中用于文本处理的强大力量,通过`java.util.regex`包支持。常见问题包括元字符的理解、边界匹配和贪婪/懒惰量词的使用。错误通常涉及未转义特殊字符、不完整模式或过度匹配。要避免这些问题,需学习实践、使用在线工具和测试调试。示例代码展示了如何验证邮箱地址。掌握正则表达式需要不断练习和调试。
50 2
|
2月前
|
Python
告别死记硬背:掌握Python正则表达式re模块的高效应用&[面向百度编程]
Python中正则表达式的高效应用,通过内置的`re`模块,讲解了如何匹配、提取和替换字符串,并提供了相关示例代码,同时提倡通过实践来掌握正则表达式的使用,而不是仅仅依赖网络搜索。
38 1
|
4月前
|
监控 Java 数据处理
正则表达式数字匹配技巧与应用场景分析
正则表达式数字匹配技巧与应用场景分析
|
3月前
|
Java
正则表达式在Java中的应用与实例
正则表达式在Java中的应用与实例
|
3月前
|
数据采集 监控 Java
正则表达式教程:从入门到实战应用
正则表达式教程:从入门到实战应用
|
3月前
|
数据采集 监控 Java
正则表达式数字匹配技巧与应用场景分析
正则表达式数字匹配技巧与应用场景分析
|
4月前
|
数据采集 监控 Java
正则表达式教程:从入门到实战应用
正则表达式教程:从入门到实战应用
|
4月前
|
数据采集 Java 开发者
正则表达式替换字符串的最佳实践与应用
正则表达式替换字符串的最佳实践与应用
|
4月前
|
Java 程序员
JavaSE——正则表达式(2/2):应用案例、查找信息、用于搜索替换、分割内容
JavaSE——正则表达式(2/2):应用案例、查找信息、用于搜索替换、分割内容
20 0
|
5月前
|
数据格式 Python
Python中的正则表达式:基础与应用
Python中的正则表达式:基础与应用