C# में रेगुलर एक्सप्रेशन उदाहरणों के साथ: पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें
```html

रेगुलर एक्सप्रेशन C# में: Regex क्लास के साथ मूल बातें

रेगुलर एक्सप्रेशन (regex) एक शक्तिशाली उपकरण है जो किसी दिए गए पैटर्न के अनुसार स्ट्रिंग्स को खोजने, निकालने, बदलने और जांचने के लिए उपयोग होता है। C# (.NET) में, रेगुलर एक्सप्रेशन के साथ सारा काम System.Text.RegularExpressions नेमस्पेस और केंद्रीय Regex क्लास में केंद्रित है। इस लेख में हम व्यावहारिक उदाहरणों के साथ C# में रेगुलर एक्सप्रेशन की बुनियादी और उन्नत क्षमताओं को समझेंगे।



1. Regex क्लास: मुख्य मेथड और पैटर्न बनाना

C# में रेगुलर एक्सप्रेशन के साथ काम करने के लिए आपको नेमस्पेस को शामिल करना होगा:

using System.Text.RegularExpressions;

Regex क्लास कई महत्वपूर्ण मेथड प्रदान करता है:

  • IsMatch — जांचता है कि स्ट्रिंग में पैटर्न से मेल खाने वाला भाग है या नहीं।
  • Match — पहला मैच लौटाता है।
  • Matches — सभी मैच लौटाता है।
  • Replace — मिले हुए मैच को निर्दिष्ट स्ट्रिंग से बदलता है।
  • Split — मैच के अनुसार स्ट्रिंग को विभाजित करता है।

ईमेल पता जांचने का एक सरल उदाहरण:

string email = "user@example.com";string pattern = @"^[\\w\\.-]+@[\\w\\.-]+\\.\\w+$";bool isValid = Regex.IsMatch(email, pattern);Console.WriteLine(isValid); // True

स्ट्रिंग से पहले @ चिह्न पर ध्यान दें — यह एक वर्बेटिम स्ट्रिंग (verbatim string) है, जो पैटर्न में बैकस्लैश (\\) लिखने को आसान बनाता है।



2. डेटा खोजना और निकालना: Match और Matches मेथड

Match मेथड एक Match ऑब्जेक्ट लौटाता है, जिसमें पहले मैच के बारे में जानकारी होती है। यदि कोई मैच नहीं है, तो Success प्रॉपर्टी false होगी।

टेक्स्ट से फ़ोन नंबर निकालने का उदाहरण:

string text = "कृपया +7 (123) 456-78-90 या +7 (987) 654-32-10 नंबर पर कॉल करें";string pattern = @"\\+7\\s?\\(\\d{3}\\)\\s?\\d{3}-\\d{2}-\\d{2}";MatchCollection matches = Regex.Matches(text, pattern);

foreach (Match match in matches){ Console.WriteLine(match.Value);}// आउटपुट:// +7 (123) 456-78-90// +7 (987) 654-32-10

Matches मेथड सभी मैच का कलेक्शन लौटाता है। आप अलग-अलग भागों को निकालने के लिए कैप्चर ग्रुप का भी उपयोग कर सकते हैं:

string text = "ID: 12345, मूल्य: 999.99";string pattern = @"मूल्य:\\s*(\\d+\\.?\\d*)";Match match = Regex.Match(text, pattern);

if (match.Success){ string price = match.Groups[1].Value; Console.WriteLine($"मूल्य: {price}"); // मूल्य: 999.99}

कैप्चर ग्रुप को पैटर्न में गोल कोष्ठक () से दर्शाया जाता है। शून्य ग्रुप पूरे मैच को दर्शाता है, और 1 से N तक के ग्रुप कैप्चर की गई उप-स्ट्रिंग्स को दर्शाते हैं।



3. स्ट्रिंग्स को बदलना और विभाजित करना: Replace और Split

Replace मेथड मैच को लचीले ढंग से बदलने की अनुमति देता है। कैप्चर किए गए ग्रुप को डालने के लिए बैक-रेफरेंस ($1, $2 आदि) समर्थित हैं।

तारीख को "YYYY-MM-DD" से "DD.MM.YYYY" में फ़ॉर्मेट करने का उदाहरण:

string date = "2025-03-15";string pattern = @"(\\d{4})-(\\d{2})-(\\d{2})";string replacement = "$3.$2.$1";string result = Regex.Replace(date, pattern, replacement);Console.WriteLine(result); // 15.03.2025

Split मेथड पैटर्न से मेल खाने वाले भागों पर स्ट्रिंग को विभाजित करता है। यह CSV या लॉग पार्स करने के लिए सुविधाजनक है:

string data = "सेब;केला;चेरी;अंगूर";string pattern = @";";string[] fruits = Regex.Split(data, pattern);foreach (var fruit in fruits){    Console.WriteLine(fruit);}// आउटपुट:// सेब// केला// चेरी// अंगूर

आप अधिक जटिल विभाजकों का भी उपयोग कर सकते हैं, जैसे कई स्पेस या विराम चिह्न:

string text = "एक   दो,तीन;चार";string[] parts = Regex.Split(```                

ब्लॉग

पुस्तक अनुशंसाएँ