Regular Expressions এবং Pattern Matching

String Handling এবং Manipulation (স্ট্রিং হ্যান্ডলিং এবং ম্যানিপুলেশন) - ভিজুয়াল বেসিক ডট নেট (VB.Net) - Computer Programming

219

Regular Expressions এবং Pattern Matching

Regular Expressions (যা সংক্ষেপে Regex বা RegEx হিসেবেও পরিচিত) হল একটি শক্তিশালী প্যাটার্ন বা টেমপ্লেট যা স্ট্রিং (text) এর মধ্যে নির্দিষ্ট প্যাটার্ন বা ফর্ম্যাট খুঁজে বের করতে ব্যবহৃত হয়। এটি বিশেষ করে টেক্সট প্রসেসিং, ডেটা ভ্যালিডেশন, এবং স্ট্রিং ম্যানিপুলেশন কার্যক্রমে ব্যবহৃত হয়। Pattern Matching হল সেই প্রক্রিয়া যেখানে একটি নির্দিষ্ট প্যাটার্ন অনুসারে ডেটা খুঁজে বের করা হয়। VB.Net এ Regular Expressions এবং Pattern Matching কে সহজভাবে ব্যবহার করা যায়।


১. Regular Expressions (Regex) কী?

Regular Expressions (Regex) হল একটি টেক্সট প্যাটার্ন, যা বিভিন্ন ধরনের টেক্সটের মধ্যে অনুসন্ধান করতে এবং তার উপর অপারেশন করতে ব্যবহৃত হয়। এটি সাধারণত নির্দিষ্ট শর্ত বা প্যাটার্ন অনুসারে টেক্সট বা স্ট্রিং ম্যানিপুলেশন করে যেমন খোঁজা, প্রতিস্থাপন, বা ভ্যালিডেশন।

Regex এর সাহায্যে আপনি বিভিন্ন কাজ করতে পারেন, যেমন:

  • স্ট্রিং এর মধ্যে নির্দিষ্ট শব্দ বা ক্যারেক্টার খুঁজে বের করা
  • একটি নির্দিষ্ট ফর্ম্যাটের স্ট্রিং (যেমন ইমেইল, ফোন নম্বর, ZIP কোড) যাচাই করা
  • স্ট্রিং এর মধ্যে কিছু অংশ আলাদা করা বা প্রতিস্থাপন করা

Regex এর মূল উপাদানগুলি:

  • Metacharacters: এগুলি বিশেষ ক্যারেক্টার যা প্যাটার্নের অংশ হিসেবে ব্যবহৃত হয় (যেমন ^, $, . ইত্যাদি)।
  • Quantifiers: এগুলি নির্দিষ্ট করে দেয় একটি ক্যারেক্টারের কতবার উপস্থিতি থাকতে হবে (যেমন *, +, ?, {n,m})।
  • Character Classes: এটি একটি গ্রুপ, যেটি এক বা একাধিক চরিত্রের একটি সেট বর্ণনা করে (যেমন [a-z], \d, \w)।
  • Anchors: এগুলি একটি স্ট্রিংয়ের শুরুর বা শেষের অবস্থান নির্দেশ করে (যেমন ^ এবং $)।

২. Pattern Matching

Pattern Matching হল সেই প্রক্রিয়া যেখানে আপনি একটি স্ট্রিং বা ডেটার মধ্যে একটি নির্দিষ্ট প্যাটার্ন বা শর্ত অনুসারে অনুসন্ধান করেন। Regular Expressions এর মাধ্যমে Pattern Matching সহজ হয়।

উদাহরণ: ইমেইল ঠিকানা যাচাই করা

ধরা যাক, আপনি একটি বৈধ ইমেইল ঠিকানা যাচাই করতে চান। Regex ব্যবহার করে এটি করা সম্ভব।

Dim emailPattern As String = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
Dim email As String = "example@domain.com"

If System.Text.RegularExpressions.Regex.IsMatch(email, emailPattern) Then
    Console.WriteLine("Valid Email")
Else
    Console.WriteLine("Invalid Email")
End If

এখানে, ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ হল একটি regular expression pattern, যা একটি বৈধ ইমেইল ঠিকানার ফরম্যাট যাচাই করে।


৩. Regex-এর কিছু সাধারণ প্যাটার্ন

প্যাটার্নবর্ণনাউদাহরণ
^স্ট্রিংয়ের শুরুতে প্যাটার্ন মেলে^abc → স্ট্রিংটি "abc" দিয়ে শুরু হতে হবে।
$স্ট্রিংয়ের শেষে প্যাটার্ন মেলেabc$ → স্ট্রিংটি "abc" দিয়ে শেষ হতে হবে।
.যেকোনো একক চরিত্র মেলেa.b → "a" এবং "b" এর মধ্যে যেকোনো একক চরিত্র থাকতে পারে।
\dযেকোনো ডিজিট (0-9) মেলে\d{3} → ৩টি ডিজিট মেলে (যেমন 123)।
\wযেকোনো শব্দের চরিত্র (A-Z, a-z, 0-9, _) মেলে\w+ → এক বা একাধিক শব্দের চরিত্র।
[]চরিত্রের একটি সেটের মধ্যে মেলে[a-z] → একটি ছোট হাতের অক্ষর।
``অথবা (OR)
*পূর্ববর্তী চরিত্রটি ০ বা তার বেশি বার উপস্থিত হতে পারেa*b → "b", "ab", "aaab" ইত্যাদি।
+পূর্ববর্তী চরিত্রটি ১ বা তার বেশি বার উপস্থিত হতে পারেa+b → "ab", "aab", "aaab" ইত্যাদি।
{n,m}পূর্ববর্তী চরিত্রটি n থেকে m বার উপস্থিত হতে পারেa{2,4} → "aa", "aaa", "aaaa"

৪. Regex ব্যবহার করার জন্য VB.Net-এর মেথড

  1. Regex.IsMatch: স্ট্রিংয়ের মধ্যে একটি প্যাটার্ন মেলে কিনা তা যাচাই করতে ব্যবহৃত হয়।

    If System.Text.RegularExpressions.Regex.IsMatch(inputString, pattern) Then
        ' প্যাটার্ন মেলে
    End If
  2. Regex.Match: একটি স্ট্রিংয়ের মধ্যে প্যাটার্ন মেলানোর প্রথম ম্যাচটি ফেরত দেয়।

    Dim match As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(inputString, pattern)
    If match.Success Then
        ' ম্যাচ পাওয়া গেছে
        Console.WriteLine(match.Value) ' ম্যাচের মান দেখাবে
    End If
  3. Regex.Replace: স্ট্রিংয়ে প্যাটার্ন অনুযায়ী কিছু অংশ প্রতিস্থাপন করে।

    Dim replacedString As String = System.Text.RegularExpressions.Regex.Replace(inputString, pattern, "replacement")
    Console.WriteLine(replacedString)
  4. Regex.Split: স্ট্রিংকে একটি নির্দিষ্ট প্যাটার্নের ভিত্তিতে বিভক্ত করে।

    Dim parts() As String = System.Text.RegularExpressions.Regex.Split(inputString, pattern)
    For Each part As String In parts
        Console.WriteLine(part)
    Next

৫. Regex ব্যবহার করে Pattern Matching এর উদাহরণ

উদাহরণ 1: ফোন নম্বর যাচাই করা

Dim phonePattern As String = "^\d{3}-\d{3}-\d{4}$"
Dim phoneNumber As String = "123-456-7890"

If System.Text.RegularExpressions.Regex.IsMatch(phoneNumber, phonePattern) Then
    Console.WriteLine("Valid Phone Number")
Else
    Console.WriteLine("Invalid Phone Number")
End If

এই উদাহরণে, ফোন নম্বরের ফরম্যাট xxx-xxx-xxxx চেক করা হয়েছে যেখানে x ডিজিট হতে হবে।

উদাহরণ 2: ইমেইল যাচাই করা

Dim emailPattern As String = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
Dim email As String = "example@domain.com"

If System.Text.RegularExpressions.Regex.IsMatch(email, emailPattern) Then
    Console.WriteLine("Valid Email")
Else
    Console.WriteLine("Invalid Email")
End If

এখানে, ইমেইল ঠিকানার বৈধতা যাচাই করতে Regex প্যাটার্ন ব্যবহার করা হয়েছে।


সারাংশ:

  • Regular Expressions (Regex) একটি শক্তিশালী টুল যা স্ট্রিং বা টেক্সটের মধ্যে নির্দিষ্ট প্যাটার্ন অনুসন্ধান এবং ম্যানিপুলেশন করতে ব্যবহৃত হয়।
  • Pattern Matching হল প্যাটার্ন অনুসারে ডেটা খুঁজে বের করার প্রক্রিয়া।
  • VB.Net-এ Regex.IsMatch, Regex.Match, Regex.Replace, এবং Regex.Split মেথড ব্যবহার করে আমরা বিভিন্ন প্যাটার্ন খুঁজে বের করতে, প্রতিস্থাপন করতে এবং বিভক্ত করতে পারি।

Regex এবং Pattern Matching দিয়ে আপনি ডেটা যাচাই, স্ট্রিং বিশ্লেষণ, এবং স্ট্রিং ম্যানিপুলেশন কার্যক্রমগুলো অনেক সহজ এবং কার্যকরভাবে করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...