Computer >> Máy Tính >  >> Lập trình >> Java

Giải thích các lớp ký tự trong biểu thức chính quy Java


Các lớp ký tự trong biểu thức chính quy Java được xác định bằng cách sử dụng dấu ngoặc vuông "[]", biểu thức con này khớp với một ký tự từ tập hợp các ký tự có thể được chỉ định hoặc.

Ví dụ:biểu thức chính quy [abc] khớp với một ký tự a hoặc, b hoặc, c. Tương tự, "[a-z]" đối sánh với một ký tự đơn lẻ từ a đến z.

Sau đây là các biến thể khác của các lớp regex Java ký tự:

Phủ định - Biến thể phủ định của lớp ký tự được định nghĩa là "[^]" (với ^ trong dấu ngoặc vuông), nó khớp với một ký tự duy nhất không có trong nhóm ký tự được chỉ định hoặc có thể có. Ví dụ:biểu thức chính quy [^ abc] khớp với một ký tự ngoại trừ a hoặc, b hoặc, c. Tương tự, "[^ a-z]" khớp với một ký tự ngoại trừ các bảng chữ cái từ a đến z.

Phạm vi - Biến thể phạm vi của lớp ký tự cho phép bạn sử dụng một phạm vi ký tự. Ví dụ:biểu thức [a-z] khớp với một ký tự đơn từ các bảng chữ cái a đến z và biểu thức [^ A-Z] khớp với một ký tự không phải là chữ cái viết hoa .

Liên minh - Biến thể liên hợp của lớp ký tự cho phép bạn đối sánh một ký tự từ một trong các phạm vi được chỉ định. Ví dụ:biểu thức [a-z [0-9]] khớp với một ký tự đơn lẻ là một bảng chữ cái nhỏ (a-z) hoặc một chữ số ( 0-9).

Giao lộ - Biến thể giao nhau của lớp ký tự cho phép bạn so khớp một ký tự phổ biến trong các phạm vi có mối quan hệ giao nhau giữa chúng. Mối quan hệ giao nhau giữa các phạm vi được xác định bằng cách sử dụng &&. Ví dụ:biểu thức [a-z &&[r-u]] khớp với một ký tự đơn lẻ từ r đến u.

Phép trừ - Bạn có thể trừ một dải ô khỏi dải ô khác và sử dụng nó như một dải ô mới. Bạn có thể đạt được điều này bằng cách sử dụng hai biến thể của các lớp ký tự, tức là phủ định và giao nhau. Ví dụ:giao điểm của các dải ô [a-l] và [^ e-h] cung cấp cho bạn các ký tự từ a đến l như cơn thịnh nộ trừ đi các ký tự [e-h].