2010-04-22 15 views
19

मैं चौड़ाई = xxx की सभी घटनाओं को खोजने के लिए Notepadd ++ उपयोग करने के लिए तो मैं उन्हें बदल सकते हैं जहाँ तक मैं मिल गया है चौड़ाई = "xxx"Notepad ++ regex लगातार 3 संख्या

कोशिश कर रहा हूँ लगता है चौड़ाई = [है^\ n] जो केवल चयन करता चौड़ाई = एक्स

उत्तर

28

कि वास्तव में आप 3 संख्या की जरूरत है, तो निम्न नोटपैड में ++ परीक्षण किया जाता है: n

Find what: width=(\d\d\d)([^\d]) 
Replace with: width="\1"\2 

यहाँ, (:

width=\d\d\d[^\d] 

आपकी आवश्यकता में आगे पढ़ना, आप टैगिंग सुविधा का उपयोग कर सकते हैं) रेगेक्स के ब्रैकेट किए गए हिस्सों को (अनुक्रम में) \ 1, \ 2, ... \ n के रूप में संग्रहीत किया जाता है जिसे प्रतिस्थापन क्षेत्र में संदर्भित किया जा सकता है।

रेगेक्स इंजन के रूप में, नोटपैड ++ खराब है। Here क्या समर्थित है इसका विवरण है। बहुत बुनियादी

+2

तो इसे संरक्षित करने के लिए की जगह '{3}' का समर्थन नहीं करता है, लेकिन यह चरित्र वर्गों को अस्वीकार करने का समर्थन करता है (जो हमेशा समर्थित नहीं है?) नोटपैड ++ में किस तरह के "नियमित अभिव्यक्तियों" पागलपन डालते हैं ??? – gnarf

+0

हालांकि यह समर्थन करता है \ d, जो उस पृष्ठ पर सूचीबद्ध नहीं है, इसलिए मुझे संदेह है कि पृष्ठ गलत और पुराना है। मैंने \ s + और \ t का उपयोग किया है। – jmanning2k

+0

चौड़ाई = "\ 1" \ 2 पत्तियों की चौड़ाई = "" को प्रतिस्थापित करता है, इसलिए ऐसा लगता है कि \ 1 कोई अंक – atwellpub

9

Notepad++ Regular Expression list को देखते हुए वहाँ {n} अंकन n वर्णों का मिलान करने का समर्थन करने के प्रतीत नहीं होता है, तो \d{3} काम नहीं किया।

हालांकि, क्या मेरे लिए काम किया था और माना जा सकता है हैक किया गया था: \d\d\d

नोटपैड में परीक्षण किया गया ++ और खोजें फ़ील्ड उपयोग (\d\d\d) के लिए काम किया है, और बदलें दायर उपयोग "\1"\2 के लिए।

+0

यह एक सफलता चौड़ाई = था \ घ \ घ \ घ, लेकिन मैं क्या स्थापित करने के लिए पर नुकसान में हूँ 3 संख्या – atwellpub

2
/(width=)(\d+?)/gim 

क्योंकि आप चर अंक प्राप्त कर सकते हैं। कुछ चौड़ाई 8, या 15, या 200 हो सकती है, या जो भी हो।

आप एक सीमा निर्दिष्ट करना चाहते हैं, तो आप इसे इस तरह कार्य करें:

/(width=)(\d{1,3)/gim 

जहां 1 निचली सीमा का प्रतिनिधित्व करता है और 3 ऊपरी प्रतिनिधित्व करता है।

मैंने अभिव्यक्ति के दोनों हिस्सों को समूहीकृत किया, इसलिए जब आप प्रतिस्थापित करते हैं तो आप पहले भाग को रख सकते हैं और इसे उड़ नहीं सकते हैं।

2

यह कोशिश की: width="\1" साथ width=([0-9][0-9][0-9]) की जगह और ठीक काम किया ... बेशक यह करने के लिए सबसे अच्छा वाक्य रचना नहीं हो सकता है, लेकिन यह काम करता है ...

6

के रूप में ताओ संस्करण 6 के रूप में टिप्पणी की, नोटपैड ++ PCRE का समर्थन करता है।

तो अब आप लिख सकते हैं:

\d{1,5} 
+0

मैंने 6.3 में परीक्षण किया, यह कहता है "गलत नियमित अभिव्यक्ति" ... यह '\ d {1,5}' – mrdaliri

+0

होना चाहिए, धन्यवाद, इसे ठीक किया गया। –

+0

बहुत बढ़िया! बस मैं क्या देख रहा हूँ। उदाहरण के लिए, \ n {10} 'का प्रयोग करें, 10 संख्याओं की एक स्ट्रिंग को खोजने के लिए। – thatWiseGuy

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