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

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

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

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

C# में रेगुलर एक्सप्रेशन: थ्योरी से प्रैक्टिस तक

\n\n

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

\n\n

1. बुनियादी बातें: Regex क्लास और इसके मेथड

\n\n

मुख्य क्लास Regex है। इसमें स्टैटिक और इंस्टेंस दोनों तरह के मेथड होते हैं। मुख्य मेथड ये हैं:

\n\n
    \n
  • IsMatch — जाँचता है कि स्ट्रिंग में पैटर्न से मेल खाने वाला कोई भाग है या नहीं।
  • \n
  • Match — पहला मैच ढूँढता है।
  • \n
  • Matches — सभी मैच ढूँढता है।
  • \n
  • Replace — मैच को निर्दिष्ट स्ट्रिंग से बदलता है।
  • \n
  • Split — पैटर्न के आधार पर स्ट्रिंग को विभाजित करता है।
  • \n
\n\n

उदाहरण 1. सरल जाँच

\n
using System;\nusing System.Text.RegularExpressions;\n\nclass Program\n{\n    static void Main()\n    {\n        string text = "नमस्ते, मेरा नंबर: 123-456-7890";\n        string pattern = @"\\d{3}-\\d{3}-\\d{4}";\n\n        if (Regex.IsMatch(text, pattern))\n        {\n            Console.WriteLine("नंबर मिल गया!");\n        }\n    }\n}\n
\n\n

इस उदाहरण में \\d{3} का मतलब है "ठीक तीन अंक"। बैकस्लैश को @ (वरबेटिम स्ट्रिंग) से एस्केप किया गया है।

\n\n

2. ग्रुप कैप्चर और डेटा निकालना

\n\n

ग्रुप कैप्चर से आप मैच के कुछ हिस्से निकाल सकते हैं। इन्हें गोल ब्रैकेट () से परिभाषित किया जाता है। हर ग्रुप को एक क्रमांक मिलता है (1 से शुरू)।

\n\n

उदाहरण 2. Email से नाम और डोमेन निकालना

\n
string email = "user@example.com";\nstring pattern = @"^(\\w+)@(\\w+\\.\\w+)$";\n\nMatch match = Regex.Match(email, pattern);\n\nif (match.Success)\n{\n    Console.WriteLine($"लॉगिन: {match.Groups[1].Value}");   // user\n    Console.WriteLine($"डोमेन: {match.Groups[2].Value}");   // example.com\n}\n
\n\n

यहाँ (\\w+) एक या अधिक अल्फ़ान्यूमेरिक कैरेक्टर कैप्चर करता है। ^ और $ स्ट्रिंग की शुरुआत और अंत के एंकर हैं।

\n\n

उदाहरण 3. URL पार्स करना

\n
string url = "https://pythonlib.ru/page?id=42";\nstring pattern = @"^(https?)://([^/]+)(/.*)?$";\n\nMatch m = Regex.Match(url, pattern);\nif (m.Success)\n{\n    Console.WriteLine($"प्रोटोकॉल: {m.Groups[1].Value}"); // https\n    Console.WriteLine($"डोमेन: {m.Groups[2].Value}");    // pythonlib.ru\n    Console.WriteLine($"पथ: {m.Groups[3].Value}");     // /page?id=42\n}\n
\n\n

3. टेक्स्ट बदलना और हटाना

\n\n

Replace मेथड से आप मैच किए गए हिस्सों को बदल सकते हैं। ग्रुप डालने के लिए $1, $2 जैसे रिवर्स रेफरेंस का उपयोग करें।

\n\n

उदाहरण 4. फ़ोन नंबर को फ़ॉर्मेट करना

\n
string raw = "89161234567";\nstring pattern = @"(\\d{1})(\\d{3})(\\d{3})(\\d{2})(\\d{2})";\nstring replacement = "+7 ($2) $3-$4-$5";\n\nstring formatted = Regex.Replace(raw, pattern, replacement);\nConsole.WriteLine(formatted); // +7 (916) 123-45-67\n
\n\n

उदाहरण 5. अतिरिक्त स्पेस हटाना

\n
string text = "यह    टेक्स्ट   बहुत   अधिक   स्पेस   वाला है।";\nstring cleaned = Regex.Replace(text, @"\\s+", " ");\nConsole.WriteLine(cleaned); // "यह टेक्स्ट बहुत अधिक स्पेस वाला है।"\n
\n\n

\\s+ — एक या अधिक स्पेस कैरेक्टर। इसे एक स्पेस से बदल दिया गया है।

\n\n

4. रियल केस: Email और फ़ोन वेरिफिकेशन

\n\n

प्रैक्टिस में रेगुलर एक्सप्रेशन का सबसे आम उपयोग यूज़र इनपुट की जाँच करना है। यहाँ दो टिपिकल उदाहरण दिए गए हैं।

\n\n

Email वेरिफिकेशन (सरलीकृत)

\n
public static bool IsValidEmail(string email)\n{\n    if (string.IsNullOrWhiteSpace(email))\n        return false;\                

ब्लॉग

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