Khái niệm
\p{javaUpperCase} khớp chữ hoa theo định nghĩa Java (Character.isUpperCase(c)).
Ví dụ 1: Đếm chữ hoa
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Nhập chuỗi: ");
String input = sc.nextLine();
String regex = "[\\p{javaUpperCase}]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println("Số ký tự hoa: " + count);
}
}
Nhập chuỗi: This IS A sample TExt
Số ký tự hoa: 6
Ví dụ 2: Chuỗi chỉ chứa chữ hoa
String regex = "^\\p{javaUpperCase}+$";
// Input: Raju RAMU rahman radha SUnDar*
// Khớp: RAMU
// Không khớp: Raju, rahman, radha, SUnDar*
So sánh \p{javaUpperCase} vs \p{Lu}
| Class | Nguồn | Khác biệt |
|---|---|---|
| \p{javaUpperCase} | Character.isUpperCase() | Java-specific, bao gồm một số char đặc biệt |
| \p{Lu} | Unicode General Category | Chuẩn Unicode, Letter Uppercase |
Thường thì cho kết quả giống nhau, nhưng isUpperCase có thể true cho một số char không phải Lu (ví dụ: một số ký tự symbol).