के साथ प्रतिस्थापित करें मेरे पास एक निश्चित स्ट्रिंग के साथ एक निश्चित पैटर्न को प्रतिस्थापित करने के लिए एक रेगेक्स है, लेकिन मैं इसे उससे अधिक गतिशील बनाना चाहता हूं।विम रेगेक्स एन अक्षरों
%s/hello/-----/g
मैं, हालांकि, इस के बजाय की तरह कुछ करना चाहते हैं:
%s/hello/-{5}/g
जिसका मतलब है कि 5 से नमस्ते की जगह
उदाहरण के लिए, मैं इस regex है कहना डैश।
क्या ऐसा करने का कोई तरीका है?
अंत में, मैं इस तरह कुछ करने के लिए करना चाहते हैं:
%s/(hello)*/-{\=strlen(\0)}/g
जो डैश जिसकी लंबाई मिलान किया स्ट्रिंग की लंबाई के बराबर है साथ ही hello
रों के एक स्ट्रिंग के किसी भी मामले की जगह लेंगे ।
काम करता है! धन्यवाद। क्या आप जानते हैं कि मैं सभी उपलब्ध फ़ंक्शंस कहां ढूंढ सकता हूं (जैसे स्ट्रेलन और दोहराना)? – tjameson
': एच फ़ंक्शंस 'चाल –
या' फ़ंक्शन-सूची 'करेगा। कभी-कभी यह अधिक आसान होता है। रिकर्सिव मैक्रो के लिए – sidyll