正则表达式基础
本课属于 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
挑战
简单创建一个名为 validateInput 的方法,它接受两个参数:
- 一个要验证的 String(
text) - 一个用于指定验证类型的 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));
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Java 在线编译器
用你自己的文本测试正则: 正则表达式测试器