एक रेगुलर एक्सप्रेशन एक पैटर्न है जिसे एक इनपुट टेक्स्ट से मिलान किया जा सकता है। नेट फ्रेमवर्क एक रेगुलर एक्सप्रेशन इंजन प्रदान करता है जो इस तरह के मिलान की अनुमति देता है। एक पैटर्न में एक या एक से अधिक कैरेक्टर लिटरल, ऑपरेटर्स या कंस्ट्रक्शन होते हैं।
यहां रेगेक्स द्वारा उपयोग किए जाने वाले मूल पैटर्न मेटाएक्टैक्टर हैं -
* = zero or more ? = zero or one ^ = not [] = range
^ सिंबल का इस्तेमाल नॉट कंडीशन को निर्दिष्ट करने के लिए किया जाता है।
[] कोष्ठक यदि हम 0 - 9 या a-z या A-Z जैसे श्रेणी मान देना चाहते हैं
Char.IsDigit() का उपयोग करना
उदाहरण
using System; namespace DemoApplication{ public class Program{ static void Main(string[] args){ string str1 = "123string456"; string str2 = string.Empty; int val = 0; Console.WriteLine($"String with number: {str1}"); for (int i = 0; i < str1.Length; i++){ if (Char.IsDigit(str1[i])) str2 += str1[i]; } if (str2.Length > 0) val = int.Parse(str2); Console.WriteLine($"Extracted Number: {val}"); Console.ReadLine(); } } }
आउटपुट
String with number: 123string456 Extracted Number: 123456
उपरोक्त उदाहरण में हम स्ट्रिंग str1 के सभी वर्णों को लूप कर रहे हैं। TheChar.IsDigit() पुष्टि करता है कि विशेष वर्ण एक संख्या है या नहीं और इसे एक नई स्ट्रिंग में जोड़ता है जिसे बाद में एक अंक में पार्स किया जाता है।
रेगेक्स का उपयोग करना
उदाहरण
using System; using System.Text.RegularExpressions; namespace DemoApplication{ public class Program{ static void Main(string[] args){ string str1 = "123string456"; string str2 = string.Empty; int val = 0; Console.WriteLine($"String with number: {str1}"); var matches = Regex.Matches(str1, @"\d+"); foreach(var match in matches){ str2 += match; } val = int.Parse(str2); Console.WriteLine($"Extracted Number: {val}"); Console.ReadLine(); } } }
आउटपुट
String with number: 123string456 Extracted Number: 123456
उपरोक्त उदाहरण में, हम स्ट्रिंग str1 से केवल संख्याएं निकालने के लिए रेगुलर एक्सप्रेशन (\d+) का उपयोग करते हैं।