regcomp işlevi, bir dizgeyle eşleştirmek üzere regexec işlevinde kullanmak için bir düzenli ifadeyi bir veri yapısına derler. Derlenmiş düzenli ifadenin biçimi verimli bir eşleştirmeyi mümkün kılacak şekilde tasarlanmıştır. Derlenen düzenli ifadeyi işlev *şablon nesnesine yerleştirir.
    
regex_t türünde bir nesne ayırıp bunun adresini regcomp işlevine aktarmalısınız.
    
derleme-seçenekleri argümanı düzenli ifadelerin sözdizimini ve anlamsal bütünlüğünü denetleyen bazı seçenekleri belirtmek için kullanılır. Bkz. 
POSIX Düzenli İfade Seçenekleri.
    
 
REG_NOSUB seçeneği belirtilmişse, regcomp işlevi derlenen düzenli ifadeye alt ifadelerin nasıl eşleştirileceği bilgisini yerleştirmez. Bu durumda,  regexec çağrısında eşleşenler ve eşleşen-sayısı argümanlarına  0 değerini aktarmalısınız.
    
Eğer REG_NOSUB seçeneğini belirtmezseniz, derlenen düzenli ifade alt ifadelerin nasıl eşleştirileceği bilgisini de içerir. Ayrıca,  regcomp işlevi şablon'un kaç alt ifade içerdiğini şablon->re_nsub üyesine yazar. Bu bilgiyi alt ifade eşleştirmesinde tutulacak bilgi için ayrılacak dizinin uzunluğuna karar vermek için kullanabilirsiniz.
    
regcomp işlevi düzenli ifadeyi başarıyla derleyebilmişse 
0 ile döner; aksi takdirde, sıfırdan farklı bir hata kodu ile döner (aşağıya bakınız). Dönen hata kodundan hata dizgesini üretmek için  
regerror işlevini kullanabilirsiniz; bkz. 
POSIX Şablonunun Temizlenmesi.
    
 
regcomp işlevinin döndürdüğü sıfırdan farklı değerler:
    
- REG_BADBR
- 
Düzenli ifade içinde geçersiz bir \{…\} yapısı vardır. Geçerli bir \{…\} yapısı ya tek bir sayı ya da virgülle ayrılmış iki sayı içermelidir.
        
- REG_BADPAT
- 
Düzenli ifade içinde bir sözdizimi hatası var.
        
- REG_BADRPT
- 
? veya * gibi yineleme işleçleri yanlış yerde (bu işleçlerden önce üzerinde işlem yapılacak bir alt ifade olmalıdır).
        
- REG_ECOLLATE
- REG_ECTYPE
- 
Düzenli ifade geçersiz bir karakter sınıfı ismi içeriyor.
        
- REG_EESCAPE
- 
Düzenli ifade \ ile bitiyor.
        
- REG_ESUBREG
- 
Geçersiz sayıda \rakam yapısı var.
        
- REG_EBRACK
- 
Düzenli ifade gruplanmamış köşeli ayraçlar içeriyor.
        
- REG_EPAREN
- 
Düzenli ifade gruplanmamış parantezler içeriyor ya da \( ve \) arasında olması gereken bir temel düzenli ifadenin sarmalayıcılarından biri eksik.
        
- REG_EBRACE
- 
Düzenli ifadede \{ ve \} sarmalayıcılardan biri eksik.
        
- REG_ERANGE
- 
Bir aralık ifadesindeki sonlandırıcılardan biri geçersiz.
        
- REG_ESPACE
- regcomp için bellek yetersiz.