C# में नियमित अभिव्यक्तियाँ उदाहरण सहित: व्यवहार में

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

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

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

C# में नियमित अभिव्यक्तियाँ उदाहरण सहित: व्यवहार में

\n\n

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

\n\n

C# में Regex के साथ काम करने की मूल बातें

\n\n

Regex वर्ग तीन प्रमुख विधियाँ प्रदान करता है:

\n
    \n
  • IsMatch — जाँचता है कि स्ट्रिंग पैटर्न से मेल खाती है या नहीं;
  • \n
  • Match — पहला मिलान ढूँढता है;
  • \n
  • Matches — सभी मिलान ढूँढता है।
  • \n
\n\n

एक सरल उदाहरण — जाँचना कि स्ट्रिंग में अंक हैं या नहीं:

\n\n
using System;\nusing System.Text.RegularExpressions;\n\npublic class RegexExample\n{\n    public static void Main()\n    {\n        string text = "मेरा नंबर: 12345";\n        string pattern = @"\\d+"; // एक या अधिक अंक\n\n        bool hasDigits = Regex.IsMatch(text, pattern);\n        Console.WriteLine(hasDigits); // True\n    }\n}\n
\n\n

स्ट्रिंग से पहले @ पर ध्यान दें — यह verbatim string literal है, जो बैकस्लैश के एस्केपिंग को अक्षम करता है। इसके बिना आपको "\\\\d+" लिखना होगा।

\n\n

ईमेल और फ़ोन नंबर की जाँच

\n\n

ईमेल सत्यापन

\n

ईमेल सत्यापन एक क्लासिक कार्य है। एक सरल लेकिन काम करने वाला पैटर्न:

\n\n
public static bool IsValidEmail(string email)\n{\n    string pattern = @"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$";\n    return Regex.IsMatch(email, pattern);\n}\n\n// उपयोग\nConsole.WriteLine(IsValidEmail("user@example.com")); // True\nConsole.WriteLine(IsValidEmail("user@.com"));        // False\n
\n\n

पैटर्न का विश्लेषण:

\n
    \n
  • ^ — स्ट्रिंग की शुरुआत;
  • \n
  • [a-zA-Z0-9._%+-]+ — स्थानीय भाग (अक्षर, अंक और विशेष वर्ण);
  • \n
  • @ — "एट" चिह्न;
  • \n
  • [a-zA-Z0-9.-]+ — डोमेन;
  • \n
  • \\. — बिंदु (एस्केप किया गया);
  • \n
  • [a-zA-Z]{2,} — डोमेन ज़ोन (कम से कम 2 अक्षर);
  • \n
  • $ — स्ट्रिंग का अंत।
  • \n
\n\n

फ़ोन नंबर की जाँच

\n

रूसी प्रारूप (+7 XXX XXX-XX-XX) के लिए उदाहरण:

\n\n
public static bool IsValidRussianPhone(string phone)\n{\n    string pattern = @"^\\+7\\d{3}\\d{3}-\\d{2}-\\d{2}$";\n    // या अधिक लचीला विकल्प:\n    // @"^\\+7[\\s-]?\\d{3}[\\s-]?\\d{3}[\\s-]?\\d{2}[\\s-]?\\d{2}$"\n    return Regex.IsMatch(phone, pattern);\n}\n
\n\n

कैप्चर समूहों के साथ टेक्स्ट से डेटा निकालना

\n\n

कैप्चर समूह (कोष्ठक ()) मिलान के भागों को निकालने की अनुमति देते हैं। उदाहरण के लिए, टेक्स्ट से सभी ईमेल निकालें:

\n\n
string text = "संपर्क: support@site.com, admin@test.org, info@company.net";\nstring pattern = @"([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\\.([a-zA-Z]{2,})";\n\nMatchCollection matches = Regex.Matches(text, pattern);\nforeach (Match match in matches)\n{\n    Console.WriteLine($"पूरा ईमेल: {match.Value}");\n    Console.WriteLine($"स्थानीय भाग: {match.Groups[1].Value}");\n    Console.WriteLine($"डोमेन: {match.Groups[2].Value}");\n    Console.WriteLine($"ज़ोन: {match.Groups[3].Value}");\n    Console.WriteLine("---");\n}\n
\n\n

परिणाम:

\n
पूरा ईमेल: support@site.com\nस्थानीय भाग: support\nडोमेन: site\nज़ोन: com\n---
\n\n

समूह 1 से शुरू होते हैं (समूह 0 पूरा मिलान है)। आप उन्हें नाम दे सकते हैं:

\n\n
string pattern = @"(?<user>[a-zA-Z0-9._%+-]+)@(?<domain>[a-zA-Z0-9.-]+)\\.(?<tld>[a-zA-Z]{2,})";\n// पहुँच: match.Groups["user"].Value\n
\n\n

HTML से लिंक निकालना

\n\n
string html = @"<a href='https://example.com'>Examp                

ब्लॉग

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