Şayet RE_CHARACTER_CLASSES sözdizimi biti bir ise, Regex, listelerin içindeki karakter sınıf ifadelerini tanır. Bir karakter sınıfı ifadesi belirtilen sınıftan bir karakter ile eşleşir. Bir karakter sınıfı fadesini, bir karakter sınıfı başlatma işleci ([: ile temsil edilir) ile bir karakter sınıfı bitirme işleci (:] ile temsil edilir) arasına koyarak oluşturabilirsiniz. Karakter sınıf isimleri ve anlamları şunlardır:
- alnum
harfler ve rakamlar
- alpha
harfler
- blank
sisteme bağlıdır, GNU için boşluk ve sekme (tab) karakterleridir.
- cntrl
kontrol karakterleri (ascii kodlamada, sekizlik tabanda 040. karakterden önceki tüm karakterler ile 0177. karakter)
- digit
rakamlar
- graph
boşluk karakteri hariç print sınıfı ile aynıdır.
- lower
küçük harfler
- print
basılabilir karakterler (ascii kodlamada, boşluk, ~ ve sekizlik tabanda 040'dan 0176'ya kadar tüm karakterler)
- punct
ne kontrol ne de alfasayısal karakterler
- space
boşluk, satırbaşı, satırsonu, düşey sekme ve sayfa ileri karakterleri
- upper
büyük harfler
- xdigit
onaltılık rakamlar: 0-9, a-f, A-F
Bunlar, GNU C kütüphanesinin ctype.h başlık dosyasındaki tanımlamalara karşı düşer. Örneğin, [:alpha:] ifadesi standart isalpha işlevine karşılık gelir. Regex, karakter sınıfı ifadelerini sadece listelerin içinde tanır; bu nedenle [[:alpha:]] ifadesi herhangi bir harf ile eşleşirken, [:alpha:] ifadesi bir köşeli ayraçlı ifadenin dışında olduğundan ve ardından bir yinelelme işleci gelmediğinden sadece kendisiyle eşleşir.