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

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

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的格式:

image.png


用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");
            }
        }
    }
}
目录
相关文章
|
2月前
|
Java 测试技术
Java一分钟之-正则表达式在Java中的应用
【5月更文挑战第14天】正则表达式是Java中用于文本处理的强大力量,通过`java.util.regex`包支持。常见问题包括元字符的理解、边界匹配和贪婪/懒惰量词的使用。错误通常涉及未转义特殊字符、不完整模式或过度匹配。要避免这些问题,需学习实践、使用在线工具和测试调试。示例代码展示了如何验证邮箱地址。掌握正则表达式需要不断练习和调试。
39 2
|
12小时前
|
Java
正则表达式在Java中的应用与实例
正则表达式在Java中的应用与实例
|
2天前
|
Java
正则表达式在Java中的应用与实例
正则表达式在Java中的应用与实例
|
5天前
|
数据采集 监控 Java
正则表达式教程:从入门到实战应用
正则表达式教程:从入门到实战应用
|
5天前
|
数据采集 Java 开发者
正则表达式替换字符串的最佳实践与应用
正则表达式替换字符串的最佳实践与应用
|
27天前
|
Java 程序员
JavaSE——正则表达式(2/2):应用案例、查找信息、用于搜索替换、分割内容
JavaSE——正则表达式(2/2):应用案例、查找信息、用于搜索替换、分割内容
11 0
|
2月前
|
机器学习/深度学习 Rust JavaScript
Rust 笔记:Rust 语言中应用正则表达式
Rust 笔记:Rust 语言中应用正则表达式
245 1
|
2月前
|
数据格式 Python
Python中的正则表达式:基础与应用
Python中的正则表达式:基础与应用
|
2月前
|
Python
Python 的其他应用: 解释什么是正则表达式(Regular Expression)?在 Python 中如何使用正则表达式?
Python 的其他应用: 解释什么是正则表达式(Regular Expression)?在 Python 中如何使用正则表达式?
|
2月前
|
自然语言处理 算法 Python
【Python自然语言处理】正则表达式(RE)的讲解及实战应用(图文解释 附源码)
【Python自然语言处理】正则表达式(RE)的讲解及实战应用(图文解释 附源码)
73 0