मैं एक बफर के अंदर फजी खोज करने के लिए एक स्क्रिप्ट बनाने की कोशिश कर रहा हूं। मुख्य विचार कुछ इनपुट लेते हैं, और डालने के लिए है .\{-}
पात्रों के हर जोड़ी के बीच, जैसे foo
हो जाता है f.\{-}o.\{-}o
।
यह काफी अच्छी तरह से काम करता है, लेकिन बहुत सारे गैर-आदर्श मैचों के साथ आता है। मुझे लगता है कि एक फ़र्ज़ी खोज को पहले कम से कम मैचों का उत्पादन करना चाहिए। निम्नलिखित उदाहरण पर विचार करें:
public void put()
put
(तो, p.\{-}u.\{-}t
) के लिए एक फजी खोज करना , पूरे स्ट्रिंग से मेल खाएगा public void put
, लेकिन put
उस मैच के भीतर छोटा अधिक उपयोगी होगा।
गैर-लालची ऑपरेटर मैच को खोजने में अच्छा है जो पहले समाप्त होता है , लेकिन मुझे कुछ ऐसा चाहिए जो एक ही समय में शुरू होने वाले मैचों को पसंद कर सके। वैचारिक रूप से, यह दोनों दिशाओं में गैर-लालची होना चाहिए। क्या यह संभव है?