2015-01-06 8 views
6

मैं उदाहरण के लिए, regex का उपयोग कर विम में एक आयत क्षेत्र से मिलान करना चाहते मेल खाता है। (test1 और test2 लगातार कर रहे हैं, हम [0-9] विचार करने के लिए, यह सिर्फ एक उदाहरण है की जरूरत नहीं है)विम एक आयत क्षेत्र

मैं हर स्तंभ गठबंधन test1test2

यह

test1 
test2 

आयत क्षेत्र से मिलान करना चाहते कहीं भी दिखाई दे सकता है, मैं इसे "कॉलम 3" या ऐसा कुछ नहीं मान सकता।

यदि वे गठबंधन नहीं हैं, तो इसे मेल न करें।

मैंने \1\@<=test1\n\(.*\)\@<=test2 की कोशिश की लेकिन कोई भाग्य नहीं, क्योंकि लुकहेड समूह को तोड़ देता है। (:help \\@<= से)

क्या कोई जानता है कि इसे केवल विम-रेगेक्स के साथ कैसे किया जाए? धन्यवाद।


संपादित करें:

सबसे जटिल उदाहरण इस मामले हो सकते हैं:

aaaaaaaaa 
b test1 b 
c test2 c 
ddddddddd 

मैच केवल test1 और test2

उपयोग दो या अधिक regex स्वीकार्य है (test1 के लिए एक और test2 के लिए अन्य?)


EDIT2:

यह, मैं सिर्फ कितना vim प्राप्त कर सकते हैं के बारे में उत्सुक सिर्फ मनोरंजन के लिए है , यह एक गंभीर समस्या नहीं है, यह कई लोगों के लिए उबाऊ और अर्थहीन हो सकता है, कृपया मुझे परेशान न करें, शुभ रात्रि :)

+0

आप * हो सकता है * एक ब्लॉक चयन करते हैं और उस पर खोज करने के लिए सक्षम हो। मुझे यकीन है कि आप '' कर सकते हैं, उदाहरण के लिए, अपना क्षेत्र और ': s/test/soemthing' चुनें। –

+0

इसके अलावा, मैं अपना प्रश्न "हैलो, स्टैक ओवरफ्लो'' के साथ क्यों शुरू नहीं कर सकता? मैं सिर्फ इस अच्छी साइट पर हैलो कहना चाहता हूं ... – Cychih

+0

@WayneWerner: '' ''कमाल है, लेकिन मैं इसे अपनी वाक्यविन्यास फ़ाइल में मिलान करना चाहता हूं। – Cychih

उत्तर

0

आपको जिस मैच की आवश्यकता है उसे ढूंढने के लिए निम्न प्रयास करें वाक्य कुल्हाड़ी /somethingWeAreLooking\(_.\)*followedByTheOtherThing

इस मामले में यह इस तरह होगा में है:

/test\(_.\)*[1-9]

+0

'_ _'' क्या है? मुझे केवल '' \ _। '' '': Help'' में मिलता है, जो "कोई एकल या ईओएल" है। रेगेक्स का व्यवहार '' test [1-9] '' जैसा दिखता है, यह पैटर्न से मेल खाता है, भले ही 'test1'' और' test2'' समान कॉलम पर गठबंधन न हों :( – Cychih

+0

IMHO: '_' उर्फ अंडरस्कोर इन करता है: एक अल्पविराम (,), बाएं ब्रेस ({), दाएं ब्रेस (}), बाएं कोष्ठक ((), दाएं कोष्ठक()), स्ट्रिंग की शुरुआत, स्ट्रिंग का अंत, या एक स्थान से मेल खाता है : इस मामले में '_.' यह एक अंक बीटीएन 1-9 से मेल खाने वाली स्ट्रिंग के अंत को जोड़ता है – abdimuna

संबंधित मुद्दे