Hampir semua metakarakter (termasuk . , + , * dan ? quantifiers, jangkar akhir string $ , dll.) tidak memiliki arti khusus dalam kelas karakter, dengan beberapa pengecualian:
- kurung penutup
], untuk alasan yang jelas - tanda sisipan
^, yang digunakan untuk meniadakan kelas karakter (misalnya:[^ab]cocok dengan karakter apa pun tetapiadanb). - tanda hubung
-, yang digunakan untuk menunjukkan rentang (misalnya:[0-9]cocok dengan digit apa pun)
Namun, ini masih dapat ditambahkan tanpa melarikan diri jika ditempatkan di lokasi strategis di dalam kelas karakter:
- kurung kurung tutup dapat ditempatkan tepat setelah kurung buka, misal:
[]a]cocok dengan]ataua. - tanda sisipan dapat ditempatkan di mana saja kecuali setelah tanda kurung buka, misalnya:
[a^]cocok dengan^ataua - tanda hubung dapat ditempatkan tepat setelah tanda kurung buka atau sebelum tanda kurung tutup, misalnya:
[-a]dan[a-]keduanya cocok denganadan-.
Informasi lebih lanjut dapat ditemukan di halaman manual di POSIX regex
(terima kasih Tomalak Geret'kal!)