विशिष्ट संख्याओं वाले अंकों की खोज संख्याएँ


23

मुझे एक बड़े दस्तावेज़ में विशिष्ट लंबाई संख्याओं को खोजने की आवश्यकता है। मैंने इसके लिए रेगेक्स का उपयोग करने की कोशिश की। उदाहरण के लिए, यदि मुझे ठीक 2 अंकों वाले नंबरों की खोज करने की आवश्यकता है, तो मैं उपयोग करता हूं \d\d(यानी / दो बार एक स्थान के बाद)। यह अच्छा काम करता है।

लेकिन 10 अंकों की संख्या खोजने के लिए यह वास्तव में \d10 बार टाइप करने के लिए संभव नहीं है।

कोशिश की \d{2}, ' E486: पैटर्न नहीं मिला: \ d {2} '

क्या इसे प्राप्त करने का कोई तेज / आसान तरीका है?

जवाबों:


32

विभिन्न नियमित अभिव्यक्ति बोलियाँ हैं; कुछ (उदाहरण के लिए) के परिमाण संशोधन ( \d{2}) में बैकस्लैश की आवश्यकता नहीं होती है , कुछ (जैसे सेड) को दो ( \d\{2\}) की आवश्यकता होती है , और विम में, केवल उद्घाटन घुंघराले को इसकी आवश्यकता होती है ( \d\{2})। यह असंगत नियमित अभिव्यक्ति बोलियों की उदास स्थिति है।

यह भी ध्यान दें कि सटीक संख्याओं के मिलान के लिए , आपको मैच को एंकर करना \d\{2}होगा ताकि अंकों ( 12) में मैच न हो 123। यह नकारात्मक दिखावट और लुक-फॉरवर्ड के साथ किया जा सकता है :

\d\@<!\d\{2}\d\@!

उत्तम। आप regex पर एक लाइनर जानकारी कृपया कर सकते हैं? वास्तव में मददगार होगा। धन्यवाद
MTK

1
मूल regexp सिंटैक्स के साथ संघर्ष करने वाले व्यक्ति के लिए, लुक-बैक / फॉरवर्ड बहुत उन्नत है। शायद मैं इसे से निर्मित बेहतर वर्णन नहीं कर सकते :help /\@<!और :help /\@!। चिंता न करें यदि आप तुरंत सब कुछ नहीं समझते हैं; जैसा कि मैंने कहा, यह बहुत उन्नत है।
इंगो करकट

आप \vरेगेक्स की शुरुआत में भी डाल सकते हैं यदि आप बचने की इच्छा से बचना चाहते {हैं :help magic, तो अधिक जानकारी के लिए देखें (यह विम रेगेक्स को पर्ल रेगेक्स की तरह थोड़ा अधिक व्यवहार करता है, हालांकि अभी भी मतभेद हैं)।
evilsoup

बहुत बहुत धन्यवाद: \d\{4}Vi में यह एक छोटी सी बात है
installero

9

निम्नलिखित आज़माएँ:

\d\{2}

और आपको उपयोग \नहीं करना चाहिए/

आप इस साइट पर या vimसाथ में विम के नियमित अभिव्यक्ति के बारे में अधिक जानकारी प्राप्त कर सकते हैं :help regular



1

उतना सुंदर नहीं है, लेकिन यह मेरे लिए एक लॉग फ़ाइल में 5 अंकों के लिए काम करता है।

/\<\%(\d\d\d\d\d\)\>

-1

अपने आप जैसे किसी व्यक्ति के लिए इस पृष्ठ पर पहुंचने के लिए बस एक पैटर्न की तलाश है जो अंकों की किसी भी लंबाई से मेल खाता है :

\d\+

(यह मुझे अतिरिक्त अतिरिक्त भागने का पता लगाने के लिए कुछ समय लगा + से पहले)


+क्वांटिफायर 1 या अधिक घटना के लिए खड़ा है। यह नियमित अभिव्यक्ति अंकों की 1 या अधिक घटनाओं से मेल खाती है।
गगनसो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.