GNU Arama İşlevi
Önceki GNU Regex İşlevleri Sonraki
GNU Arama İşlevi
Arama bir dizge içindeki ardışık konumlarda eşleşmenin başlangıcının aranmasıdır. re_search işlevi bunu yapar.
re_search işlevini çağırmadan önce düzenli ifadenizi derlemeniz gerekir.
int re_search
(struct re_pattern_buffer *şablon_tamponu,
 const char               *dizge,
 const int                 boyut,
 const int                 başlangıç,
 const int                 aralık,
 struct re_registers      *yazmaçlar)
işlev
aralık argümanı dışında tüm argümanlar re_match işlevi ile aynıdır.
aralık positifse, re_search ilk eşleşmeyi başlangıç ile belirtilen indiste arar, başarısız olursa başlangıç + 1'e geçer ve böyle ilerleyerek başlangıç + aralık'a kadar işlem tekrarlanır. aralık negatifse, re_search ilk eşleşmeyi başlangıç ile belirtilen indiste arar, başarısız olursa başlangıç - 1'e geçer ve böyle gider.
Şayet başlangıç sıfırdan küçük ya da boyut'dan büyük verilirse işlev -1 ile döner. aralık pozitifse, re_search aralık değerini gerekirse, başlangıç + aralık - 1, sıfır ile boyut arasında olacak şekilde ayarlar; bu durumda dizge dışında arama yapılmamış olur. Benzer şekilde, aralık negatifse, re_search aralık değerini gerekirse, başlangıç + aralık + 1, sıfır ile boyut arasında olacak şekilde ayarlar.
Şayet şablon tamponu'nun fastmap alanı sıfırsa, re_search eşleştirme işlemini ardarda gelen konumlarda başlatır; aksi takdirde aramayı daha verimli kılmak için fastmap'i kullanır (Bakınız, Hızlı Eşlemlerle Arama).
Bir eşleşme bulunmazsa, re_search -1 ile döner. Bulunursa, eşleşmenin başladığı yerin indisi ile döner. Bir iç hata oluşmuşsa -2 ile döner.
Önceki Üst Ana Başlık Sonraki
GNU Eşleştirme İşlevi Başlangıç Veriyi Bölerek Arama ve Eşleştirme
Bir Linux Kitaplığı Sayfası