विम regex भागने की जरूरत नहीं है


17

विम में रीजक्स को उसी शैली में लिखने का विकल्प है जैसा कि उदाहरण के लिए अक्क

/sp\{0,\}/
होगा

/sp{0,}/

जवाबों:


30

के साथ अपने पैटर्न को रोकने \vसे पैटर्न "जादू" बन जाएगा, और प्रतीकों की तरह {और [एक अर्थपूर्ण अर्थ होगा (और शाब्दिक रूप से बच निकलने की आवश्यकता है)।

तो /\vsp{1,}आप जो चाहते थे वह मिल जाएगा (मैंने इसे अभी परीक्षण किया है)।

आप remapping द्वारा चूक के इस एक तरह से कर सकते हैं /करने के लिए /\vअपने vimrc में निम्नलिखित लाइनों के साथ:

nnoremap / /\v
vnoremap / /\v

:help patternअधिक के लिए देखें ।


1

/sp\{0,}

बेशक {0,}, आप का उपयोग करना बेहतर होगा *: /sp*(जैसा कि ऊपर) शून्य या अधिक पी के बाद एक 'एस' पाते हैं। ध्यान दें कि शून्य या अधिक हमेशा सत्य होता है, इसलिए इस विशेष अभिव्यक्ति में इसका कोई कारण नहीं है।


यह सभी अच्छी जानकारी और बहुत उपयोगी थी। क्या विशेष पात्रों के पलायन को मोड़ने का कोई तरीका है?
MageProspero

मैं देख सकता हूं कि तुम्हरा अब क्या मतलब है। मुझे गंभीरता से संदेह है, कि लगभग निश्चित रूप से समानांतर में विकसित एक अलग पार्सर की आवश्यकता होगी, और मुझे संदेह है कि यह अतिरिक्त कार्यान्वयन और रखरखाव को सही ठहराने के लिए पर्याप्त मांग के साथ एक विशेषता होगी।
केविन

-1

विम के पास ऑक-स्टाइल रेगुलर एक्सप्रेशन का अनुकरण करने का विकल्प नहीं है, नहीं। रेगेक्स की बहुत सारी बोलियाँ हैं, और दुर्भाग्यवश एक उपकरण से दूसरे उपकरण में जाने पर नज़र रखने के लिए हमेशा इन छोटे द्वंद्वात्मक अंतर होते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.