Regular Expressions (RegEx) হল একটি শক্তিশালী টুল যা টেক্সটের মধ্যে প্যাটার্ন খুঁজে বের করতে, সংশোধন করতে এবং ম্যানিপুলেট করতে ব্যবহৃত হয়। VBScript-এ Regular Expressions ব্যবহারের মাধ্যমে আপনি টেক্সটের নির্দিষ্ট প্যাটার্ন সনাক্ত, বদলানো, যাচাই বা অন্যান্য কার্যক্রম পরিচালনা করতে পারেন। এটি বিশেষত ডেটা ভ্যালিডেশন (যেমন ইমেইল ঠিকানা, ফোন নম্বর) এবং টেক্সট প্রক্রিয়াকরণে ব্যবহৃত হয়।
Regular Expressions এর মৌলিক ধারণা
Regular Expressions বা RegEx একটি টেক্সট প্যাটার্ন ম্যাচিং সিস্টেম যা এক বা একাধিক চরিত্রের একটি শৃঙ্খলা বা প্যাটার্নের মাধ্যমে টেক্সট স্ট্রিংয়ের সাথে মেলে। VBScript-এ RegEx ব্যবহারের জন্য Microsoft VBScript Regular Expressions (MSVScript.RegExp) অবজেক্ট ব্যবহার করা হয়।
VBScript-এ Regular Expressions ব্যবহার
RegEx ব্যবহারের জন্য VBScript-এ প্রথমে একটি RegExp অবজেক্ট তৈরি করতে হয়। এই অবজেক্টটি প্যাটার্ন ম্যাচিং বা অন্যান্য RegEx কার্যক্রম পরিচালনা করবে।
১. RegExp অবজেক্ট তৈরি করা
Dim regEx
Set regEx = CreateObject("VBScript.RegExp")
এখানে, CreateObject("VBScript.RegExp") ব্যবহার করে একটি RegExp অবজেক্ট তৈরি করা হয়েছে।
২. RegExp অবজেক্টের প্রধান প্রপার্টিজ
RegEx অবজেক্টের কিছু গুরুত্বপূর্ণ প্রপার্টি আছে যা টেক্সট ম্যানিপুলেশন এবং প্যাটার্ন মেচিং পরিচালনা করতে সহায়তা করে।
- Pattern: এটি টেক্সট ম্যাচিংয়ের জন্য প্যাটার্ন ডিফাইন করে।
- Global: যদি এটি
Trueথাকে, তাহলে প্যাটার্নটি সমস্ত ম্যাচে অনুসন্ধান করবে; অন্যথায় প্রথম ম্যাচের জন্য অনুসন্ধান করবে। - IgnoreCase: যদি এটি
Trueথাকে, তাহলে প্যাটার্নটি কেস-সংবেদনশীল হবে না। - Multiline: যদি এটি
Trueথাকে, তাহলে একাধিক লাইনে প্যাটার্নের অনুসন্ধান করবে।
৩. Match পদ্ধতি
Match পদ্ধতিটি একটি টেক্সট স্ট্রিংয়ের মধ্যে নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে ব্যবহৃত হয়। এটি একটি MatchCollection অবজেক্ট প্রদান করে, যার মধ্যে ম্যাচিং তথ্য থাকবে।
উদাহরণ: একটি প্যাটার্নের সাথে মেলানো টেক্সট খুঁজে বের করা
Dim regEx, matches, inputText
Set regEx = CreateObject("VBScript.RegExp")
' প্যাটার্ন সেট করা (এখানে একটি ইমেইল ঠিকানা প্যাটার্ন)
regEx.Pattern = "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"
' ইনপুট টেক্সট
inputText = "আমার ইমেইল হল example@example.com"
' ম্যাচিং খুঁজে বের করা
Set matches = regEx.Execute(inputText)
' যদি কোনো ম্যাচ পাওয়া যায়
If matches.Count > 0 Then
MsgBox "ইমেইল ঠিকানা পাওয়া গেছে: " & matches(0).Value
Else
MsgBox "ইমেইল ঠিকানা পাওয়া যায়নি!"
End If
এখানে, RegEx প্যাটার্ন ব্যবহার করে ইমেইল ঠিকানা খুঁজে বের করা হয়েছে। Execute পদ্ধতি ব্যবহৃত হয়েছে টেক্সট স্ট্রিংয়ে প্যাটার্ন অনুসন্ধান করার জন্য।
৪. Replace পদ্ধতি
Replace পদ্ধতিটি একটি স্ট্রিংয়ের মধ্যে নির্দিষ্ট প্যাটার্ন খুঁজে সেটি পরিবর্তন করতে ব্যবহৃত হয়।
উদাহরণ: টেক্সটের মধ্যে প্যাটার্ন বদলানো
Dim regEx, result, inputText
Set regEx = CreateObject("VBScript.RegExp")
' প্যাটার্ন সেট করা
regEx.Pattern = "\d+" ' সমস্ত সংখ্যার প্যাটার্ন
regEx.IgnoreCase = True
' ইনপুট টেক্সট
inputText = "আমার ফোন নম্বর 12345 এবং 67890"
' সমস্ত সংখ্যা পরিবর্তন করা
result = regEx.Replace(inputText, "XXXXX")
' ফলাফল দেখানো
MsgBox result
এখানে, \d+ প্যাটার্ন ব্যবহার করে সমস্ত সংখ্যা পরিবর্তন করা হয়েছে, এবং প্রতিটি সংখ্যার পরিবর্তে XXXXX বসানো হয়েছে।
৫. Test পদ্ধতি
Test পদ্ধতিটি একটি বুলিয়ান মান প্রদান করে যা জানায় যে প্যাটার্নটি টেক্সটের সাথে মেলে কিনা।
উদাহরণ: প্যাটার্ন মেলা চেক করা
Dim regEx
Set regEx = CreateObject("VBScript.RegExp")
' প্যাটার্ন সেট করা
regEx.Pattern = "^[A-Za-z]+$"
' টেক্সট চেক করা
If regEx.Test("Hello") Then
MsgBox "টেক্সটটি প্যাটার্নের সাথে মেলে"
Else
MsgBox "টেক্সটটি প্যাটার্নের সাথে মেলে না"
End If
এখানে, Test পদ্ধতি ব্যবহার করে চেক করা হচ্ছে যে টেক্সটটি শুধুমাত্র অক্ষর (এবং অক্ষরই) থাকে কিনা।
সারাংশ
Regular Expressions (RegEx) VBScript এ শক্তিশালী টুল যা টেক্সট স্ট্রিংয়ের মধ্যে প্যাটার্ন সনাক্ত এবং ম্যানিপুলেট করার জন্য ব্যবহৃত হয়। এটি VBScript.RegExp অবজেক্টের মাধ্যমে কাজ করে, যা প্যাটার্ন মেচিং, রিপ্লেসমেন্ট, এবং টেস্টিং সহ বিভিন্ন কার্যক্রম পরিচালনা করতে সক্ষম। Pattern, Global, IgnoreCase, Match, Replace, এবং Test এর মত পদ্ধতিগুলি RegEx এর কার্যকারিতা বাড়ায় এবং টেক্সট ম্যানিপুলেশন আরও কার্যকরী করে।
Read more