Kiến thức cơ bản về biểu thức chính quy
Thuộc phần Logic và luồng chương trình trong hành trình Java của Coddy. Bài học 46 trên 59.
Biểu thức chính quy (regex) là các mẫu dùng để tìm kiếm và xác thực chuỗi. Trong Java, ta dùng phương thức matches() để kiểm tra xem một chuỗi có khớp với một mẫu hay không.
Kiểm tra xem một chuỗi chỉ chứa chữ số hay không:
String text = "12345";
boolean isMatch = text.matches("[0-9]+");Sau khi chạy đoạn code trên, isMatch chứa:
true
Kiểm tra xem chuỗi có chỉ chứa các chữ cái hay không:
String text = "Hello";
boolean isMatch = text.matches("[a-zA-Z]+");Sau khi chạy đoạn code trên, isMatch chứa:
true
Thử thách
DễTạo một phương thức có tên validateInput nhận hai đối số:
- Một chuỗi (
text) cần xác thực - Một chuỗi (
type) chỉ định loại xác thực
Phương thức cần xác thực văn bản dựa trên các loại sau:
- "number": chỉ được chứa chữ số (0-9)
- "word": chỉ được chứa chữ cái (a-z hoặc A-Z)
- "email": phải chứa @ và có ít nhất một ký tự đứng trước nó
- "phone": phải chứa chính xác 10 chữ số
Các thông báo trả về:
- Nếu text là null: trả về "Invalid input"
- Nếu type không hợp lệ: trả về "Invalid type"
- Nếu xác thực thành công: trả về "Valid"
- Nếu xác thực không thành công: trả về "Invalid"
Tự làm thử
import java.util.Scanner;
public class Main {
public static String validateInput(String text, String type) {
// Viết code của bạn ở đây
}
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));
}
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Logic và luồng chương trình
1Mảng đa chiều
Kiến thức cơ bản về mảng 2DTruy cập phần tử trong mảng 2DVòng lặp lồng nhau với mảng 2DÔn tập về mảng 2DPhép cộng và phép trừ ma trậnMảng không đềuMảng 3D trở lênCác mẫu thường gặp với mảng 2DÔn tập về mảng2HashMap phần 1
HashMap là gì?Khai báo HashMapTruy cập giá trịKiểm tra khóa có tồn tạiChỉnh sửa từ điểnÔn tập: HashMap5HashSet phần 2
Toán học: hợp của các HashSetToán học: giao của HashSetToán học: hiệu tập hợpToán học: hiệu đối xứngTập con và tập chaDuyệt qua các tập hợp8Thao tác chuỗi nâng cao
Kiến thức cơ bản về StringBuilderGiới thiệu về StringBufferKiến thức cơ bản về biểu thức chính quySo khớp mẫu bằng RegexStringTokenizerĐịnh dạng chuỗi nâng caoTự luyện tập: Trình biên dịch Java online
Thử một mẫu trên văn bản của bạn: Công cụ kiểm tra regex