1. Regex là gì
Regex viết tắt của Regular Expression (còn gọi là biểu thức chính quy) là cách để lọc, tìm kiếm, kiểm tra xem 1 chuỗi ký tự có thỏa mãn những quy định hay không
Ví dụ Regex.IsMatch(chuoi_can_kiem_tra, “^[0-9]*$”) sẽ trả về true nếu chuoi_can_kiem_tra chỉ chứa ký tự số
Thử regex online ở đây
2. Các mẫu regex thường dùng với tiếng Nhật
Như ở ví dụ trên [0-9] là biểu thị cho các số từ 0 đến 9. Vậy với tiếng Nhật C# cũng có nhưng mẫu để mô tả riêng như dưới đây
\p{IsHiragana} | Tất cả các chữ cái trong bảng chữ cái hiragana |
\p{IsKatakana} | Tất cả các chữ cái trong bảng chữ cái katakana |
ヲ-゚ | Tất cả các chữ cái trong bảng chữ cái katakana viết dạng hankaku |
\p{IsCJKUnifiedIdeographs} | Tất cả các chữ kanji của cả tiếng Nhật tiếng Trung |
\u3000 | Khoảng trắng ở dạng zenkaku |
\u0020 | Khoảng trắng ở dạng hankaku |
※Khi viết tiếng Nhật trên máy tính sẽ có 2 kiểu chữ là zenkaku và hankaku. Mỗi ký tự viết ở dạng zenkaku sẽ có độ lớn gấp đôi ký tự đó khi viết ở dạng hankaku
3. Ví dụ với regex tiếng Nhật
Regex dưới đây sẽ trả về true với chuỗi chỉ chứa các kí tự chữ hiragana, katakana (cả zenkaku và hankaku) và kanji
1 |
Regex.IsMatch(chuoi_can_kiem_tra, @"^[ヲ-゚\p{IsHiragana}\p{IsKatakana}\p{IsCJKUnifiedIdeographs}]*$") |