GNU Eşleştirme İşlevi
Önceki GNU Regex İşlevleri Sonraki
GNU Eşleştirme İşlevi
GNU yöntemi ile eşleştirmenin anlamı, belirtiğiniz bir yerden başlayarak bir dizgenin mümkün olan en çok karakteri ile eşleştirme yapmaya çalışmaktır.
int re_match
(struct re_pattern_buffer *şablon_tamponu,
 const char               *dizge,
 const int                 boyut,
 const int                 başlangıç,
 struct re_registers      *yazmaçlar)
işlev
Bir şablonu bir şablon tamponuna derledikten sonra bu işlevi kullarak bir dizgenin bu şablonla eşleştirilmesini isteyebilirsiniz.
şablon_tamponu derlenmiş dezenli ifadeyi içeren tamponunun adresidir. dizge eşleştirilmesini istediğiniz dizgedir ve satırsonu karakteri ile boş karakter içerebilir. boyut bu dizgenin uzunluğudur. başlangıç eşleşmenin aranacağı dizge indisidir; dizge içindeki ilk karakterin indisi sıfırdır. Açıklamasını Yazmaçların Kullanımı bölümünde bulacağınız yazmaçlar için güvenle sıfır değerini aktarabilirsiniz.
re_match işlevi, şablon_tamponu içindeki düzenli ifadeyi, dizge dizgesi ile şablon_tamponu'nun syntax alanı içindeki sözdizimine göre eşleştirir. (syntax alanının nasıl ilklendirildiğini öğrenmek için GNU Düzenli İfadesinin Derlenmesi bölümüne bakınız.)
İşlev, dizge dizgesinin hiçbir parçası ile eşleşme bulamazsa -1 ile, bir iç hata oluşursa -2 ile, aksi takdirde dizge içinde şablonla eşleşen karakterlerin sayısı (sıfır olabilir) ile döner.
Örnek: şablon_tamponu'nun a* ifadesi için derlenmiş şablonu içerdiğini, dizge'nin aaaaab dizgesini gösterdiğini (burada boyut değeri 6 olmalıdır) varsayalım. başlangıç 2 ise, re_match 3 değeri ile döner, yani, a* ifadesi dizge içindeki son 3 a ile eşleşmiş olur. başlangıç 0 olsaydı dönen değer 5 olacaktı, yani, a* ifadesi dizge içindeki bütün alarla eşleşecekti. başlangıç 5 ya da 6 olsaydı işlev 0 ile dönecekti.
Şayet başlangıç sıfırdan küçük ya da boyut'dan büyük verilirse işlev -1 ile döner.
Önceki Üst Ana Başlık Sonraki
GNU Düzenli İfadesinin Derlenmesi Başlangıç GNU Arama İşlevi
Bir Linux Kitaplığı Sayfası