सी # - नियमित अभिव्यक्तियाँ
ए regular expressionएक ऐसा पैटर्न है जिसे इनपुट टेक्स्ट के विरुद्ध मिलान किया जा सकता है। .Net फ्रेमवर्क एक नियमित अभिव्यक्ति इंजन प्रदान करता है जो इस तरह के मिलान की अनुमति देता है। एक पैटर्न में एक या अधिक चरित्र शाब्दिक, ऑपरेटर या निर्माण शामिल होते हैं।
नियमित अभिव्यक्तियों को परिभाषित करने के लिए निर्माण
पात्रों, ऑपरेटरों और निर्माणों की विभिन्न श्रेणियां हैं जो आपको नियमित अभिव्यक्तियों को परिभाषित करने की अनुमति देती हैं। इन निर्माणों को खोजने के लिए निम्न लिंक पर क्लिक करें।
चरित्र बच जाता है
चरित्र वर्ग
Anchors
समूह निर्माण
Quantifiers
पश्चगामी निर्माण करता है
वैकल्पिक निर्माण
Substitutions
विविध निर्माण
द रेगेक्स क्लास
रेगेक्स वर्ग का उपयोग एक नियमित अभिव्यक्ति का प्रतिनिधित्व करने के लिए किया जाता है। इसके निम्नलिखित सामान्य तरीके हैं -
अनु क्रमांक। | तरीके और विवरण |
---|---|
1 | public bool IsMatch(string input) इंगित करता है कि क्या रेगेक्स कंस्ट्रक्टर में निर्दिष्ट नियमित अभिव्यक्ति एक निर्दिष्ट इनपुट स्ट्रिंग में एक मैच पाता है। |
2 | public bool IsMatch(string input, int startat) इंगित करता है कि क्या रेगेक्स कंस्ट्रक्टर में निर्दिष्ट नियमित अभिव्यक्ति निर्दिष्ट इनपुट स्ट्रिंग में एक मैच पाता है, जो स्ट्रिंग में निर्दिष्ट शुरुआती स्थिति में है। |
3 | public static bool IsMatch(string input, string pattern) इंगित करता है कि निर्दिष्ट नियमित अभिव्यक्ति निर्दिष्ट इनपुट स्ट्रिंग में एक मैच पाता है या नहीं। |
4 | public MatchCollection Matches(string input) एक नियमित अभिव्यक्ति के सभी घटनाओं के लिए निर्दिष्ट इनपुट स्ट्रिंग खोजता है। |
5 | public string Replace(string input, string replacement) एक निर्दिष्ट इनपुट स्ट्रिंग में, सभी स्ट्रिंग को प्रतिस्थापित करता है जो एक निर्दिष्ट प्रतिस्थापन स्ट्रिंग के साथ एक नियमित अभिव्यक्ति पैटर्न से मेल खाते हैं। |
6 | public string[] Split(string input) रेगेक्स कंस्ट्रक्टर में निर्दिष्ट नियमित अभिव्यक्ति पैटर्न द्वारा परिभाषित पदों पर एक इनपुट स्ट्रिंग को सब्सट्रिंग के एक सरणी में विभाजित करता है। |
विधियों और गुणों की पूरी सूची के लिए, कृपया C # पर Microsoft दस्तावेज़ पढ़ें।
उदाहरण 1
निम्नलिखित उदाहरण 'S' से शुरू होने वाले शब्दों से मेल खाते हैं -
using System;
using System.Text.RegularExpressions;
namespace RegExApplication {
class Program {
private static void showMatch(string text, string expr) {
Console.WriteLine("The Expression: " + expr);
MatchCollection mc = Regex.Matches(text, expr);
foreach (Match m in mc) {
Console.WriteLine(m);
}
}
static void Main(string[] args) {
string str = "A Thousand Splendid Suns";
Console.WriteLine("Matching words that start with 'S': ");
showMatch(str, @"\bS\S*");
Console.ReadKey();
}
}
}
जब उपरोक्त कोड संकलित और निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Matching words that start with 'S':
The Expression: \bS\S*
Splendid
Suns
उदाहरण 2
निम्नलिखित उदाहरण ऐसे शब्दों से मेल खाते हैं जो 'm' से शुरू होते हैं और 'e' से समाप्त होते हैं -
using System;
using System.Text.RegularExpressions;
namespace RegExApplication {
class Program {
private static void showMatch(string text, string expr) {
Console.WriteLine("The Expression: " + expr);
MatchCollection mc = Regex.Matches(text, expr);
foreach (Match m in mc) {
Console.WriteLine(m);
}
}
static void Main(string[] args) {
string str = "make maze and manage to measure it";
Console.WriteLine("Matching words start with 'm' and ends with 'e':");
showMatch(str, @"\bm\S*e\b");
Console.ReadKey();
}
}
}
जब उपरोक्त कोड संकलित और निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Matching words start with 'm' and ends with 'e':
The Expression: \bm\S*e\b
make
maze
manage
measure
उदाहरण 3
यह उदाहरण अतिरिक्त सफेद स्थान की जगह लेता है -
using System;
using System.Text.RegularExpressions;
namespace RegExApplication {
class Program {
static void Main(string[] args) {
string input = "Hello World ";
string pattern = "\\s+";
string replacement = " ";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
Console.WriteLine("Original String: {0}", input);
Console.WriteLine("Replacement String: {0}", result);
Console.ReadKey();
}
}
}
जब उपरोक्त कोड संकलित और निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Original String: Hello World
Replacement String: Hello World