Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में Regex क्लास और इसके मेथड्स

C# में Regex क्लास (Regular Expressions)

System.Text.RegularExpressions.Regex क्लास रेगुलर एक्सप्रेशन्स (पैटर्न मैचिंग) के लिए उपयोग होती है। यह टेक्स्ट सर्च, वैलिडेशन, पार्सिंग, रिप्लेसमेंट और स्प्लिटिंग के लिए शक्तिशाली टूल है।

Regex के मुख्य मेथड्स

मेथडविवरणरिटर्न टाइप
IsMatch(input)पैटर्न मैच मिला? (बूलियन)bool
IsMatch(input, startat)निर्दिष्ट पोजीशन से मैच जांचेंbool
IsMatch(input, pattern)स्टैटिक: पैटर्न और इनपुट दोनों पास करेंbool
Match(input)पहला मैच लौटाता हैMatch
Matches(input)सभी मैचों का कलेक्शनMatchCollection
Replace(input, replacement)मैच को रिप्लेसमेंट से बदलेंstring
Split(input)पैटर्न पर स्ट्रिंग स्प्लिट करेंstring[]

उदाहरण: Matches() से शब्द खोजें

using System;
using System.Text.RegularExpressions;

class Program {
    static void Main() {
        string text = "make maze and manage to measure it";
        string pattern = @"\bm\S*e\b"; // 'm' से शुरू, 'e' पर खत्म होने वाले शब्द
        
        Console.WriteLine("Matching words starting with 'm' and ending with 'e':");
        MatchCollection matches = Regex.Matches(text, pattern);
        
        foreach (Match m in matches) {
            Console.WriteLine(m.Value);
        }
    }
}

आउटपुट

Matching words starting with 'm' and ending with 'e':
make
maze
manage
measure

अन्य उपयोगी उदाहरण

Replace: डिजिट्स को मास्क करें

string input = "Card: 1234-5678-9012-3456";
string masked = Regex.Replace(input, @"\d", "X");
// "Card: XXXX-XXXX-XXXX-XXXX"

Split: एकाधिक डिलीमीटर्स पर स्प्लिट

string input = "apple,banana;orange|grape";
string[] fruits = Regex.Split(input, @"[,;|]");
// ["apple", "banana", "orange", "grape"]

कॉमन रेगुलर एक्सप्रेशन पैटर्न

पैटर्नमैच करता है
\dकोई डिजिट (0-9)
\wवर्ड कैरेक्टर (a-z, A-Z, 0-9, _)
\sव्हाइटस्पेस (स्पेस, टैब, न्यूलाइन)
.कोई कैरेक्टर (न्यूलाइन छोड़कर)
^patternस्ट्रिंग की शुरुआत
pattern$स्ट्रिंग का अंत
pattern*0 या अधिक बार
pattern+1 या अधिक बार
pattern?0 या 1 बार
(pattern)ग्रुपिंग/कैप्चरिंग

प्रदर्शन टिप्स

  • बार-बार उपयोग होने वाले पैटर्न के लिए static readonly Regex या RegexOptions.Compiled उपयोग करें।
  • RegexOptions.IgnoreCase केस-इनसेंसिटिव के लिए।
  • कैटास्ट्रोफिक बैकट्रैकिंग से बचें (नेस्टेड क्वांटिफायर्स)।
  1. फायरवॉल क्या है और इसका उद्देश्य क्या है? फायरवॉल क्या है और इसका उद्देश्य क्या है?

    चाहे आपके अपने सिस्टम पर हो या साइबर सुरक्षा तत्व वाले क्राइम ड्रामा में, आपने निस्संदेह फायरवॉल शब्द सुना होगा। आपका फायरवॉल आपके कंप्यूटर की सुरक्षा का एक महत्वपूर्ण हिस्सा है और अवांछित कनेक्शन, संभावित हैकर्स, और बहुत कुछ को बाहर रखने में मदद करता है। विभिन्न प्रकार के फायरवॉल और नेटवर्क सुरक्ष

  1. - Java में Throwable क्लास और इसके मेथड्स का महत्व क्या है?

    Throwable क्लास जावा में सभी एरर्स और अपवादों की सुपरक्लास है। इस क्लास के इंस्टेंस ऑब्जेक्ट्स जावा वर्चुअल मशीन द्वारा फेंके जाते हैं या throw स्टेटमेंट द्वारा फेंके जा सकते हैं। इसी तरह, यह क्लास या इसके सबक्लासेस में से कोई एक catch क्लॉज में आर्गुमेंट टाइप हो सकता है। Error और Exception दो सबक

  1. - Python क्लास में self और __init__ मेथड्स में क्या अंतर है?

    self self शब्द क्लास के इंस्टेंस को रिप्रेजेंट करने के लिए उपयोग किया जाता है। self कीवर्ड का उपयोग करके हम Python में क्लास के एट्रिब्यूट्स और मेथड्स को एक्सेस करते हैं। __init__ मेथड __init__ Python क्लासेस में एक रिज़र्व्ड मेथड है। ऑब्जेक्ट-ओरिएंटेड टर्मिनोलॉजी में इसे कंस्ट्रक्टर कहा जाता है। यह