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

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

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

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

C# में रेगुलर एक्सप्रेशन: टेक्स्ट के साथ काम करने के लिए शक्तिशाली उपकरण



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



C# में Regex क्लास की मूल बातें



C# में रेगुलर एक्सप्रेशन के साथ काम करने के लिए मुख्य क्लास System.Text.RegularExpressions.Regex है। यह स्ट्रिंग को खोजने, बदलने और विभाजित करने के संचालन के लिए स्टैटिक और इंस्टेंस मेथड प्रदान करता है।



Regex ऑब्जेक्ट बनाना



आप कंस्ट्रक्टर में एक पैटर्न और वैकल्पिक रूप से फ्लैग पास करके Regex क्लास का एक इंस्टेंस बना सकते हैं:



using System.Text.RegularExpressions;

// सरल निर्माणRegex regex = new Regex(@"\\d+");

// फ्लैग के साथ (उदाहरण के लिए, केस इग्नोर करना)Regex regexIgnoreCase = new Regex(@"hello", RegexOptions.IgnoreCase);


महत्वपूर्ण: C# में पैटर्न लिखने के लिए लिटरल स्ट्रिंग (प्रीफिक्स @ के साथ) का उपयोग करने की अनुशंसा की जाती है। यह बैकस्लैश को एस्केप करने की आवश्यकता को समाप्त करता है, जिससे कोड अधिक पठनीय हो जाता है।



Regex के स्टैटिक मेथड



एक बार के संचालन के लिए, स्टैटिक मेथड का उपयोग करना अधिक सुविधाजनक है, जिन्हें क्लास का इंस्टेंस बनाने की आवश्यकता नहीं होती है:



bool isMatch = Regex.IsMatch("नमस्ते, दुनिया!", @"दुनिया");Console.WriteLine(isMatch); // True

string result = Regex.Replace("123abc456", @"\\d+", "X");Console.WriteLine(result); // XabcX


टेक्स्ट के साथ काम करने के लिए मुख्य मेथड



Regex क्लास चार प्रमुख मेथड प्रदान करता है: IsMatch, Match, Matches और Split। आइए उदाहरणों के साथ प्रत्येक पर विचार करें।



IsMatch मेथड — मिलान की जाँच



IsMatch मेथड एक bool मान लौटाता है, जो दर्शाता है कि स्ट्रिंग में पैटर्न के साथ कम से कम एक मिलान पाया गया है या नहीं।



string email = "user@example.com";string pattern = @"^[\\w\\.-]+@[\\w\\.-]+\\.\\w{2,4}$";

if (Regex.IsMatch(email, pattern)){ Console.WriteLine("ईमेल सही है");}else{ Console.WriteLine("ईमेल गलत है");}


यह उदाहरण जाँचता है कि क्या स्ट्रिंग एक सरल ईमेल पैटर्न से मेल खाती है।



Match और Matches मेथड — मिलान खोजना



Match पहला मिलान लौटाता है, जबकि Matches MatchCollection ऑब्जेक्ट के रूप में सभी मिलानों का संग्रह लौटाता है।



string text = "मूल्य: 1500 रुपये। छूट: 200 रुपये। कुल: 1300 रुपये।";string pattern = @"\\d+";

// पहला मिलानMatch firstMatch = Regex.Match(text, pattern);Console.WriteLine($"पहली संख्या: {firstMatch.Value}"); // 1500

// सभी मिलानMatchCollection allMatches = Regex.Matches(text, pattern);Console.WriteLine("सभी संख्याएँ:");foreach (Match match in allMatches){ Console.WriteLine($" - {match.Value}"); // 1500, 200, 1300}


Match ऑब्जेक्ट में न केवल मान (Value) होता है, बल्कि स्ट्रिंग में स्थिति (Index) और लंबाई (Length) भी होती है।



Split मेथड — स्ट्रिंग को विभाजित करना



Regex.Split निर्दिष्ट पैटर्न के अनुसार स्ट्रिंग को उप-स्ट्रिंग की एक सरणी में विभाजित करता है। यह String.Split का एक एनालॉग है, लेकिन रेगुलर एक्सप्रेशन के समर्थन के साथ।



string data = "राम;25;दिल्ली;प्रोग्रामर";string pattern = @";";

string[] parts = Regex.Split(data, pattern);foreach (string part in parts){ Console.WriteLine(part);}// आउटपुट:// राम// 25// दिल्ली// प्रोग्रामर


ग्रुपिंग और डेटा कैप्चर करना



सबसे शक्तिशाली क्षमताओं में से एक

ब्लॉग

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