उदाहरण:क्या कुछ परिदृश्यों में क्वांटिफ़ायर {0} समझ में आता है?
/(?: फू) {0} बार/
मैं कुछ इस तरह एक और जवाब में देखा था। सबसे पहले मैंने सोचा कि "यह क्या होना चाहिए", लेकिन फिर, "ठीक हो सकता है, एक नकारात्मक नजरिया के पीछे", ताकि Foo
bar
से पहले अनुमति नहीं है, लेकिन यह काम नहीं कर रहा है।
आप इस here on Regexr देख सकते हैं: यह केवल bar
से मेल खाता है लेकिन यह भी Foobar
में bar
मेल खाता है।
जब मैं पंक्ति की शुरुआत के लिए एक लंगर जोड़ें:
/^(?:Foo){0}bar/
यह बर्ताव करता है जैसे मैं उम्मीद करते हैं। यह केवल bar
से मेल खाता है और Foobar
में bar
से मेल नहीं खाता है।
लेकिन यह वही व्यवहार है जैसे मैंने केवल /bar/
या /^bar/
का उपयोग किया था।
क्या क्वांटिफायर {0}
केवल एक बेकार साइड इफेक्ट है, या इसके लिए वास्तव में एक उपयोगी व्यवहार है?
यह कमाल है, कोबी। यह केवल ऐसे इंजन में उपयोगी है जिसमें subroutines है लेकिन '(? (DEFINE)) नहीं, 'मुझे लगता है कि केवल रूबी और संभवतः पायगॉन' रेगेक्स 'मॉड्यूल के साथ है। रुबी में परीक्षण किया गया: '(? :(फू)) {0} बार \ g <1>' +1000! – zx81
यदि कोई दिलचस्पी लेता है, तो पायथन में 'regex' मॉड्यूल के साथ काम नहीं कर रहा है। लेकिन इस विकल्प के साथ आया, जो काम करता है: '(? :(फू) $ ^)? बार (? 1)' – zx81