Menu
CoddyTech

正则表达式基础

本课属于 Coddy Java 学习旅程的“逻辑与流程”单元。第 46 课,共 59 课。

正则表达式(regex)是用于搜索和验证字符串的模式。在 Java 中,我们使用 matches() 方法来检查字符串是否与某个模式匹配。

检查字符串是否只包含数字:

String text = "12345";
boolean isMatch = text.matches("[0-9]+");

执行上述代码后,isMatch 中包含:

true

检查字符串是否只包含字母:

String text = "Hello";
boolean isMatch = text.matches("[a-zA-Z]+");

运行上面的代码后,isMatch 的值为:

true

challenge icon

挑战

简单

创建一个名为 validateInput 的方法,它接受两个参数:

  1. 一个要验证的 String(text)
  2. 一个用于指定验证类型的 String(type)

该方法应根据以下类型验证文本:

  • "number":只能包含数字(0-9)
  • "word":只能包含字母(a-z 或 A-Z)
  • "email":必须包含 @,且 @ 前至少有一个字符
  • "phone":必须恰好包含 10 位数字

返回的消息应为:

  • 如果 text 为 null:返回 "Invalid input"
  • 如果 type 无效:返回 "Invalid type"
  • 如果验证通过:返回 "Valid"
  • 如果验证失败:返回 "Invalid"

亲手试试

import java.util.Scanner;

public class Main {
    public static String validateInput(String text, String type) {
        // 在这里编写你的代码
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String text = scanner.nextLine();
        String type = scanner.nextLine();
        
        if (text.equals("null")) text = null;
        System.out.println(validateInput(text, type));
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Java 在线编译器

用你自己的文本测试正则: 正则表达式测试器