Khái niệm
\p{javaMirrored} khớp ký tự có thuộc tính "mirrored" trong Unicode (trả về true cho Character.isMirrored(c)). Bao gồm: ngoặc, dấu ngoặc kép, các ký tự định dạng RTL.
Ví dụ 1: Đếm ký tự mirrored
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{javaMirrored}]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println("Số ký tự mirrored: " + count);
}
}
Nhập chuỗi:
Ví dụ 2: Chuỗi chỉ chứa mirrored
String regex = "^\\p{javaMirrored}+$";
// Input: {Raju} rahman radha {}<>()[]
// Khớp: {}<>()[]
// Không khớp: {Raju}, (chứa chữ), rahman, radha
Các ký tự mirrored phổ biến
| Char | Tên | Mirrored |
|---|---|---|
| ( | Left Parenthesis | ) |
| ) | Right Parenthesis | ( |
| [ | Left Bracket | ] |
| ] | Right Bracket | [ |
| { | Left Brace | } |
| } | Right Brace | { |
| < | Less Than | > |
| > | Greater Than | < |
Ứng dụng
- Xử lý text RTL (Arabic, Hebrew)
- Validate balanced brackets
- Sanitize input chứa ký tự định dạng