Character Class [ ]
Khớp một ký tự đơn từ tập chỉ định trong ngoặc vuông.
[abc]- khớp a, b, hoặc c[a-z]- khớp chữ thường a-z[^a-z]- khớp ký tự không phải a-z (negation)
Ví dụ 1: Đếm ký tự a-z
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Nhập văn bản: ");
String input = sc.nextLine();
String regex = "[a-z]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println("Số ký tự từ a-z: " + count);
}
}
Nhập văn bản: sample data 1234$
Số ký tự từ a-z: 10
Ví dụ 2: Đếm ký tự không phải chữ cái
String regex = "[^a-z]";
// Input: sample data 1234$
// Kết quả: 7 (khoảng trắng, 1,2,3,4,$)
Bảng tóm tắt
| Regex | Mô tả |
|---|---|
[aeiou] | Nguyên âm |
[^aeiou] | Không phải nguyên âm |
[a-zA-Z] | Chữ cái |
[0-9] | Chữ số |
[\\w] | Word char (chữ, số, _) |
[\\W] | Non-word char |