Chúng ta bắt gặp các lớp ký tự bị phủ định trong biểu thức chính quy Python.
Một regex của ‘[Abdfgh]’ khớp với bất kỳ ký tự đơn lẻ nào là một trong các ký tự ‘a’, ‘b’, ‘d’, ’f’, ’g’ hoặc ‘h’. Đây được gọi là một lớp ký tự.
Một regex của ‘[^ Abdfgh]’ sẽ khớp với bất kỳ ký tự đơn nào KHÔNG phải là một trong các ký tự ‘a’, ‘b’, ‘d’, ’f’, ’g’ hoặc ‘h’. Đây là lớp ký tự bị phủ định và được biểu thị bằng ký tự ‘^’ ở đầu lớp ký tự.
Ký tự ‘^’ có ý nghĩa đặc biệt khi bắt đầu lớp ký tự. nếu nó được sử dụng ở nơi khác trong lớp ký tự đó, nó chỉ đơn giản có nghĩa là ký tự ‘^’.
Các lớp nhân vật được phân bổ hoạt động với bất kỳ lớp nhân vật nào:
Các phạm vi [0–9] khớp với một ký tự chữ số, [^ 0–9] khớp với bất kỳ ký tự đơn nào không phải là một chữ số.