GNU Şablon Tamponları
Önceki GNU Regex İşlevleri Sonraki
GNU Şablon Tamponları
Verilen bir düzenli ifadenin derlenmesi, eşleştirilmesi veya araştırılması için bir şablon tamponu yaratmak zorundasınızdır. Bir şablon tamponu derlenmiş bir düzenli ifadeyi tutar.[114]
Aynı anda birden çok ve farklı şablon tamponuna sahip olabilirsiniz, her biri değişik bir düzenli ifade için derlenmiş bir şablonu tutabilir.
struct re_pattern_buffer
veri türü
regex.h şablon tamponu yapısını aşağıda belirtilen şekilde tanımlar:
unsigned char *buffer
Derlenmiş şablonu tutan tampon. unsigned char * şeklinde bildirilir, çünkü elemanları bazen dizi indisleri olarak kullanılır.
unsigned long allocated
Tampon için ayrılan baytların sayısı.
unsigned long used
Tampon içinde kullanılmış bayt sayısı.
reg_syntax_t syntax
Şablonun birlikte derlendiği sözdizimi ayarları.
char *fastmap
Varsa bir hızlı eşleme gösterici, aksi takdirde sıfır. Eşleşmelerin imkansız başlangıç noktalarını atlamak için varsa fastmap, re_search işlevi tarafından kullanılır.
char *translate
Karşılaştırma öncesi tüm karakterlere uygulanacak çeviri tablosu, çeviri yoksa sıfır. Çeviri, derlenirken şablona ve eşleştirilirken dizgeye uygulanır.
size_t re_nsub
Derleyici tarafından bulunan alt ifadelerin sayısı.
unsigned can_be_null
Bu şablon boş dizgeyi eşleştiremezse sıfır yoksa bir. Aslında sadece, fastmap kullanmamızın gerekip gerekmeyeceğini saptamak için re_search_2 işlevi tarafından kullanılır. Bu nedenle bunu mükemmel olarak ayarlayamadık; Hızlı Eşlemlerle Arama bölümüne bakınız.
unsigned regs_allocated
REGS_UNALLOCATED tanımlıysa, max (RE_NREGS, re_nsub + 1) grup için regs yapısı içinde yer ayrılır. REGS_REALLOCATE tanımlıysa, gerekliyse yer yeniden ayrılır. REGS_FIXED tanımlıysa, olan kullanılır; bu öntanımlıdır.
#define REGS_UNALLOCATED 0
#define REGS_REALLOCATE 1
#define REGS_FIXED 2
unsigned fastmap_accurate
regex_compile işlevi ile bir şablonu derlediğiniz zaman sıfır olur; şayet fastmap, re_compile_fastmap işlevi ile güncellenirse bir olur.
unsigned no_sub
Birse, re_match_2 işlevi alt ifadeler hakkında bilgi döndürmez.
unsigned not_bol
Bir ise satır başı ile eşleşme işleci dizgenin başlangıcıyla eşleşmez. Öntanımlı değeri 1'dir.
unsigned not_eol
Satır sonu ile eşleşme işleci için not_bol alanına benzer.
unsigned newline_anchor
Birse, demir, satırsonu karakteri ile eşleşir. Öntanımlı değeri 1'dir.


[114] Düzenli İfadeler, “şablon tamponu” isminden dolayı “şablonlar/kalıplar” olarak da adlandırılır.
Önceki Üst Ana Başlık Sonraki
GNU Regex İşlevleri Başlangıç GNU Düzenli İfadesinin Derlenmesi
Bir Linux Kitaplığı Sayfası