Ş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.