Bir arabellek içinde bulanık arama yapmak için bir komut dosyası oluşturmaya çalışıyorum. Ana fikir bazı girdi almak ve .\{-}
her karakter çifti arasına eklemek , örneğin foo
olur f.\{-}o.\{-}o
.
Bu oldukça iyi çalışıyor, ancak pek çok ideal olmayan eşleşme ortaya çıkıyor. Bence bulanık bir arama önce en kısa eşleşmeleri vermelidir. Aşağıdaki örneği düşünün:
public void put()
put
(Böylece p.\{-}u.\{-}t
) için bulanık bir arama yapmak tüm dizeyle eşleşir public void put
, ancak put
bu eşleşme içinde daha kısa olan daha yararlı olur.
Açgözlü olmayan operatör, daha önce sona eren eşleşmeleri bulmakta iyidir , ancak aynı zamanda daha sonra başlayan eşleşmeleri tercih edebilecek bir şeye ihtiyacım var . Kavramsal olarak, her iki yönde de açgözlü olmamalıdır. Mümkün mü?