Java: Hỗ trợ Unicode

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Kể từ bản phát hành JDK 7, đối sánh mẫu Biểu thức chính quy đã mở rộng chức năng để hỗ trợ Unicode 6.0.

Trong bài học này, ta sẽ tìm hiểu hai phần kiến thức:

Khớp với một điểm mã cụ thể

Bạn có thể đối sánh một điểm mã Unicode cụ thể bằng cách sử dụng chuỗi escape có dạng \uFFFF, trong đó FFFF là giá trị thập phân của điểm mã bạn muốn đối sánh.

Ngoài ra, bạn có thể chỉ định một điểm mã bằng cách sử dụng ký hiệu hex kiểu Perl là \x{...}. Ví dụ:

String hexPattern = "\x{" + Integer.toHexString(codePoint) + "}";

Các thuộc tính ký tự Unicode

Mỗi ký tự Unicode ngoài giá trị của nó thì còn có một số thuộc tính nhất định. Bạn có thể đối sánh một ký tự thuộc một danh mục cụ thể với biểu thức \p{prop}. Bạn có thể đối sánh một ký tự không thuộc một danh mục cụ thể với biểu thức \P{prop}.

Ba loại thuộc tính được hỗ trợ là script, blockgeneral_category.

script

Để xác định xem một điểm mã có thuộc về một tập lệnh cụ thể hay không, bạn có thể sử dụng từ khóa script hoặc dạng ngắn gọn của nó là sc, ví dụ: \p{script=Hiragana}. Ngoài ra, bạn có thể dùng cách khác đó là đặt trước tên tập lệnh chuỗi Is, chẳng hạn như \p{IsHiragana}.

Các tên tập lệnh hợp lệ được hỗ trợ bởi Pattern là những tên được UnicodeScript.forName chấp nhận.

block

Một khối có thể được chỉ định bằng cách sử dụng từ khóa block hoặc dạng rút gọn blk, ví dụ: \p{block=Mongolian}. Ngoài ra, bạn có thể dùng cách khác đó là đặt trước tên khối chuỗi In, chẳng hạn như \p{InMongolian}.

Các tên khối hợp lệ được hỗ trợ bởi Pattern là những tên được UnicodeScript.forName chấp nhận.

general_category

Các danh mục có thể được chỉ định với tiền tố tùy chọn Is. Ví dụ, IsL phù hợp với danh mục các chữ cái Unicode. Danh mục cũng có thể được chỉ định bằng cách sử dụng từ khóa general_category, hoặc dạng ngắn là gc. Ví dụ, một chữ hoa có thể được đối sánh bằng cách sử general_category=Lu hoặc gc=Lu.

Các danh mục được hỗ trợ là các danh mục của Chuẩn Unicode trong phiên bản được chỉ định bởi lớp Character.

» Tiếp: Lớp Pattern
« Trước: Các phương thức của lớp PatternSyntaxException
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!