Hầu hết tất cả các siêu ký tự (bao gồm cả dấu chấm . , + , * và ? bộ định lượng, ký tự neo cuối chuỗi $ , v.v.) không có ý nghĩa đặc biệt trong các lớp ký tự, với một số ngoại lệ đáng chú ý:
- dấu ngoặc đóng
], vì những lý do rõ ràng - dấu mũ
^, được sử dụng để phủ định lớp ký tự (ví dụ:[^ab]khớp với bất kỳ ký tự nào butavàb). - gạch nối
-, được sử dụng để biểu thị một phạm vi (ví dụ:[0-9]khớp với bất kỳ chữ số nào)
Tuy nhiên, chúng vẫn có thể được thêm vào mà không bị thoát nếu được đặt ở các vị trí chiến lược trong lớp nhân vật:
- dấu ngoặc đóng có thể được đặt ngay sau dấu ngoặc mở, ví dụ:
[]a]khớp với]hoặca. - dấu mũ có thể được đặt ở bất kỳ đâu nhưng sau dấu ngoặc mở, ví dụ:
[a^]khớp với^hoặca - dấu gạch nối có thể được đặt ngay sau dấu ngoặc mở hoặc trước dấu ngoặc đóng, ví dụ:
[-a]và[a-]cả hai đều khớp vớiavà-.
Bạn có thể tìm thấy thêm thông tin trong trang người đàn ông trên POSIX regex
(cảm ơn Tomalak Geret'kal!)