POSIX Eşleştirmesi
Önceki POSIX Regex işlevleri Sonraki
POSIX Eşleştirmesi
POSIX tarzı eşleştirme, bir boş karakter sonlandırmalı dizgeyi ilk karakterinden başlayarak eşleştirmek demektir. Bir ifadeyi bir şablon tamponu içine derledikten sonra aşağıdaki işlevi kullanarak şablonu bir dizge ile eşleştirmeyi deneyebilirsiniz.
int regexec
(const regex_t *şablon,
 const char    *dizge,
 size_t         eşleşen_sayısı,
 regmatch_t     eşleşenler[],
 int            icra_imleri)
işlev
şablon, ifadenin derlendiği şablon tamponunun adresi, dizge ise eşleştirilecek olan dizgedir.
eşleşenler ile ilgili olarak daha ayrıntılı bilgiyi Bayt Konumlarının kullanımı bölümünde bulabilirsiniz. eşleşen_sayısı olarak sıfır aktarırsanız ya da şablon'u REG_NOSUB derleme bitini 1 yaparak derlemişseniz, regexec işlevi eşleşenler'i yoksayar; aksi takdirde, onu en az eşleşen_sayısı elemanla ilklendirmelisiniz. regexec işlevi eşleşen_sayısı bayt konumunu eşleşenler dizisine kaydeder, kullanılmayan elemanlara da eşleşenler[eşleşen_sayısı -1]'e kadar -1 değerini atar.
icra_imleri ile çalıştırma imleri belirtilir (regex.h dosyasında tanımlanmış olan REG_NOTBOL ve REG_NOTEOL bitleri). REG_NOTBOL biti bir ise, satır başı ile eşleşme işleci daima eşleştirmede başarısız olur. Bu, size satırın bir parçası ile eşleşme yapma imkanı sağlar. Bu özelliğe, şayet bir satır içinde belirtilmiş bir şablonun tekrarlanan örneklerini arıyorsanız ihtiyacınız olacaktır. Şablonlar için, satır başı ile eşleşme işleci ile veya onsuz, bu özellik düzgün bir biçimde çalışacaktır. REG_NOTEOL ise satır sonu eşleşme işleci için benzer şekilde çalışacaktı; bu bit simetri için vardır.
regexec işlevi, şablon'un syntax alanı içindeki sözdizimine bağlı olarak dizge içinde şablon için bir eşleşme bulmaya çalışır. (Bunun nasıl ayarlandığını anlamak için POSIX Düzenli İfadelerinin Derlenmesi bölümüne bakınız.) Şayet derlenmiş şablon dizge ile eşleşir ise işlev sıfır ile döner, eşleşmezse REG_NOMATCH (regex.h dosyasında tanımlanmıştır) ile döner.
Önceki Üst Ana Başlık Sonraki
POSIX Düzenli İfadelerinin Derlenmesi Başlangıç Hataların Bildirilmesi
Bir Linux Kitaplığı Sayfası