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 tetapia
danb
). - 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 dengana
dan-
.
Informasi lebih lanjut dapat ditemukan di halaman manual di POSIX regex
(terima kasih Tomalak Geret'kal!)