में स्ट्रैब नहीं होने वाली सभी पंक्तियों को कैसे पुनर्प्राप्त करें, मैं विजुअल स्टूडियो सर्च बॉक्स में "strA" युक्त दस्तावेज़ की सभी पंक्तियों को कैसे प्राप्त कर सकता हूं, लेकिन "strb" नहीं?Regex: Visual Studio
उत्तर
आप Negative lookarounds का उपयोग करेंगे, लेकिन अगर आप शर्तों की अपेक्षित स्थिति (या यहां तक कि ऑर्डर) नहीं जानते हैं तो अभिव्यक्ति बहुत जटिल है। क्या आप ऑर्डर या पैटर्न जानते हैं?
अन्यथा मैं एक उपकरण का उपयोग करने के लिए आपको सलाह देते हैं कि जो कर सकता था उतनी ही आसानी से पाश (या सूची कंप्यूटर अनुप्रयोग) लाइन द्वारा एक फ़ाइल लाइन के माध्यम से और कर Instr या शामिल या अन्य सरल, तेजी, तार्किक परीक्षण ...
Visual Studio 2012 के लिए (और नए संस्करणों):
^(?!.*strB).*strA.*$
स्पष्टीकरण:
^ # Anchor the search at the start of the line
(?!.*strB) # Make sure that strB isn't on the current line
.*strA.* # Match the entire line if it contains strA
$ # Anchor the search to the end of the line
यदि आप गाड़ी रिटर्न/लाइन फ़ीड्स को शेष लाइन के साथ भी हटाना चाहते हैं तो आप रेगेक्स के अंत में (?:\r\n)?
जोड़ना चाहेंगे।
व्यक्त कर रहा है यह काम किया। मुझे बहिष्करण के लिए कई तारों का समर्थन करने के लिए विस्तार करना पड़ा, जो कि उदाहरण के लिए काम करता था। '^ (?!। * STRB) (?!। * STRC) (?!। * StrD)। * Stra। * $'। – DuckMaestro
मुझे लगता है कि खोज बॉक्स वास्तव में सामान्य नियमित अभिव्यक्ति स्वीकार करता है। नकारात्मक अग्रदर्शी का उपयोग करना:
(?!^.*strB.*$)strA
आप बहु विकल्प (शुरू में ^
और $
मैच लाइनों के/अंत) स्थापित करने के लिए की आवश्यकता होगी। आप संवाद विकल्पों का उपयोग कर यह निर्धारित नहीं कर सकते हैं, तो कोशिश:
(?m)(?!^.*strB.*$)strA
यह शायद है कि इंजन में डिफ़ॉल्ट मोड हालांकि है।
आपको पूरे रेगेक्स को एंकर करने की ज़रूरत है, न केवल लुकहेड। इसका मतलब है ''' '* बाहर * लुकहेड डालना और' strA' के सामने एक और '। *' जोड़ना। लेकिन रेखा के * अंत * (यानी, '। * $' जा सकते हैं) के रेगेक्स के किसी हिस्से को एंकर करने की आवश्यकता नहीं है। –
अच्छी तरह से मुझे नहीं पता। जैसा कि मैंने इसे अभी देखा है, मैंने इसे लिखा है "यदि एक पंक्ति में स्ट्रोब नहीं है, तो stra से मिलान करें"। अभी भी मेरे लिए सही लगता है, क्योंकि हम लाइन से लाइन से मेल खाते हैं। मुझे लगता है। पुराने regexes पढ़ना मेरे दिमाग को चोट पहुंचाता है। – wds
दृश्य स्टूडियो 2010 (और पिछले संस्करणों) के लिए:
दृश्य स्टूडियो खोज बॉक्स का अपना, regex वाक्य रचना की विचित्र संस्करण है। यह अभिव्यक्ति का अनुरोध किया के रूप में काम करता है:
^~(.*strB).*strA
^
एक पंक्ति के आरंभ से मेल खाता है। (आमतौर पर एक पाठ संपादक के लिए, वहाँ कोई "बहु" विकल्प है,। ^
और $
हमेशा लाइन सीमा पर से मेल खाते हैं)
.
एक नई पंक्ति को छोड़कर किसी भी चरित्र से मेल खाता है। (ऐसा नहीं है, ऐसा नहीं लगता है कि कोई "सिंगल-लाइन" या "डॉट-ऑल" मोड नहीं है जो डॉट्स को न्यूलाइन से मेल खाता है।)
~(...)
"रोकथाम मैच" निर्माण, बराबर है (जहां तक मैं कह सकता हूं) नकारात्मक प्रतिक्रिया के लिए ((?!...)
) अन्य उत्तरदाताओं द्वारा उपयोग किया जाता है।
एफवाईआई, विजुअल स्टूडियो 2012 के रूप में डॉटनेट रीगेक्स इंजन अब खोजों के लिए उपयोग किया जाता है, इसलिए विचित्र वाक्यविन्यास अब जाना चाहिए। अच्छा जवाब है, लेकिन बस इस बात से अवगत रहें कि आप किस वीएस का उपयोग कर रहे हैं। – redcalx
विजुअल स्टूडियो 2010 SP1Rel में परीक्षण, यह उत्तर संशोधित किया जाना चाहिए यदि "strB" "strA" के बाद हो सकता है। '^ ~ (। * StrB) आज़माएं। * StrA ~ (। * Strb)'। या '~ (strb)। * StrA। * ~ (Strb)'। – ToolmakerSteve
यह दृश्य स्टूडियो 2010 के साथ मेरे लिए काम किया:।
^+ [^ (STRB)] (Stra) + [^ (STRB)] + $
- 1. Visual Studio 2003
- 2. स्वरूप Visual Studio 2012
- 3. Visual Studio 2012 परिवर्तन फलक
- 4. Visual Studio 2012 सशर्त बंडलिंग
- 5. Visual Studio 2012 आयात/निर्यात GitHub gists
- 6. उपयोग Ctrl + तीर Visual Studio 2012
- 7. वेब साइट प्रशासन उपकरण Visual Studio 2012
- 8. Visual Studio 2012 सी ++ बूस्ट के साथ त्रुटि संकलन signal2
- 9. Visual Studio 2012 क्लिक करने के लिए ईवेंट हैंडलर
- 10. Visual Studio 2012 देशी सी ++ DLL 86 संकलन
- 11. Visual Studio 2012 मर्ज पूर्ण रूप से अपने कोड
- 12. कस्टम नियंत्रण कारण Visual Studio 2008 को CRASH
- 13. मैं किसी विशेष अपवाद पर BREAK को Visual Studio को कैसे नहीं बता सकता?
- 14. जनरेट कर रहा है एक exe InstallShield 2012 Visual Studio 2012
- 15. विंडोज सर्वर पर Visual Studio 2012 दूरस्थ डीबगर नहीं चला 2008
- 16. क्यों Visual Studio 2008 SQL Server 2008 डेवलपर के साथ .mdf फ़ाइलों को स्थापित नहीं करेगा?
- 17. Visual Studio 2012 किसी और चीज की: गलत समारोह सेटअप विफलता
- 18. सी # में कोडिंग के लिए आप Visual Studio पर SharpDevelop क्यों चुनेंगे?
- 19. Aptana Studio 3
- 20. FSharp.Core Xamarin Studio
- 21. VISual स्टूडियो 2010 एक्सप्रेस
- 22. क्या मैं एक ऐसी फाइल बना सकता हूं जो Visual Studio में designer.cs फ़ाइल के बगल में बैठे हो?
- 23. डाटा एक दुकान क्वेरी (DbSet, DbQuery, DbSqlQuery) को सीधे बाध्यकारी <strong>Visual Studio 2012</strong> पर
- 24. क्या GetThemeColor/Visual Styles API
- 25. Regex अंदर regex
- 26. Regex
- 27. Regex
- 28. regex?
- 29. Regex
- 30. Regex
आप पर यह क्या कर रहे हैं।।। एक कमांड लाइन, या कुछ कोड में? कौन सा ओएस या भाषा? –
दृश्य स्टूडियो खोज बॉक्स में। – Ricky