Regular Expressions এর মৌলিক ধারণা
Regular Expressions (RegEx) একটি শক্তিশালী টুল যা টেক্সটের মধ্যে প্যাটার্ন খুঁজে বের করতে, মিলিয়ে দেখতে এবং টেক্সটকে ম্যানিপুলেট করতে ব্যবহৃত হয়। এটি একটি বিশেষ ভাষা যা স্ট্রিং প্যাটার্নগুলি বর্ণনা করতে ব্যবহৃত হয় এবং আপনি যেকোনো ধরনের টেক্সট সনাক্ত করতে, পরিবর্তন করতে বা যাচাই করতে এই প্যাটার্নগুলি ব্যবহার করতে পারেন।
Regular Expressions এর ব্যবহার
RegEx সাধারণত ব্যবহৃত হয়:
- টেক্সট সন্নিবেশ বা খোঁজা: যেমন কোন নির্দিষ্ট শব্দ, সংখ্যা বা টেক্সট প্যাটার্ন খুঁজে বের করা।
- টেক্সট পরিবর্তন: যেমন টেক্সটের নির্দিষ্ট অংশ পরিবর্তন করা বা মুছে ফেলা।
- টেক্সট যাচাই: যেমন ইউজারের ইনপুট যাচাই করা, ইমেইল ঠিকানা বা ফোন নম্বরের ফরম্যাট সঠিক কিনা তা চেক করা।
RegEx এর মৌলিক উপাদানসমূহ
- লিটারেল ক্যারেকটারস (Literal Characters):
একটি RegEx একটি স্ট্রিং বা চরিত্রের প্যাটার্ন হিসেবে কাজ করে। সাধারণ ক্যারেকটার যেমন:a,b,1,@,%ইত্যাদি লিটারেল ক্যারেকটার হিসেবে কাজ করে।- উদাহরণ: RegEx
appleশুধুমাত্র"apple"এই শব্দকে মিলাবে।
- উদাহরণ: RegEx
- মেটাচর (Meta-characters):
RegEx এ কিছু বিশেষ চরিত্র থাকে যেগুলি বিভিন্ন কাজের জন্য ব্যবহৃত হয়। এগুলিকে মেটাচর বলা হয়। সবচেয়ে সাধারণ মেটাচরগুলো হলো:.(Dot): যেকোনো একক চরিত্রের সাথে মিলে।- উদাহরণ:
a.cযেকোনো string এর মধ্যে "a", যেকোনো এক ক্যারেকটার এবং "c" এর সাথে মিলবে, যেমন"abc","axc","a9c"ইত্যাদি।
- উদাহরণ:
^(Caret): স্ট্রিংয়ের শুরুর সাথে মিলবে।- উদাহরণ:
^abcশুধুমাত্র এমন স্ট্রিং এর সাথে মিলে যা"abc"দিয়ে শুরু হয়, যেমন"abc123"।
- উদাহরণ:
$(Dollar Sign): স্ট্রিংয়ের শেষে মিলবে।- উদাহরণ:
abc$শুধুমাত্র এমন স্ট্রিং এর সাথে মিলে যা"abc"দিয়ে শেষ হয়, যেমন"123abc"।
- উদাহরণ:
[](Square Brackets): কোনো নির্দিষ্ট চরিত্রের এক বা একাধিক অপশন।- উদাহরণ:
[aeiou]যেকোনো একটি vowel এর সাথে মিলবে।"a","e","i"ইত্যাদি।
- উদাহরণ:
|(Pipe or OR): দুটি বা ততোধিক প্যাটার্নের মধ্যে কোন একটি মিললে কাজ করবে।- উদাহরণ:
cat|dogযেকোনো "cat" অথবা "dog" শব্দের সাথে মিলে।
- উদাহরণ:
*(Asterisk): পূর্ববর্তী চরিত্রটি শূন্য বা তার বেশি বার রিপিট হতে পারে।- উদাহরণ:
a*যেকোনো স্ট্রিং এর মধ্যে শূন্য বা একাধিক "a" এর সাথে মিলবে, যেমন"aaa","a", বা""(শূন্য)।
- উদাহরণ:
+(Plus): পূর্ববর্তী চরিত্রটি এক বা একাধিক বার রিপিট হতে পারে।- উদাহরণ:
a+যেকোনো স্ট্রিং এর মধ্যে এক বা একাধিক "a" এর সাথে মিলবে, যেমন"a","aa","aaa"।
- উদাহরণ:
?(Question Mark): পূর্ববর্তী চরিত্রটি এক বা শূন্য বার রিপিট হতে পারে।- উদাহরণ:
a?যেকোনো স্ট্রিং এর মধ্যে এক বা শূন্য "a" এর সাথে মিলবে, যেমন"a"বা""(শূন্য)।
- উদাহরণ:
- কোয়ারেন্টাস (Quantifiers):
Quantifiers দ্বারা আমরা স্ট্রিংয়ের মধ্যে চরিত্রের সংখ্যা নির্দিষ্ট করতে পারি।{n}: ঠিক n বার রিপিট হওয়া।- উদাহরণ:
a{3}এর মানে হচ্ছে ঠিক তিনটি "a" এর সাথে মিলবে, যেমন"aaa"।
- উদাহরণ:
{n,}: কমপক্ষে n বার রিপিট হওয়া।- উদাহরণ:
a{2,}এর মানে হচ্ছে দুই বা তার বেশি "a" এর সাথে মিলবে, যেমন"aa","aaa"।
- উদাহরণ:
{n,m}: n থেকে m বার রিপিট হওয়া।- উদাহরণ:
a{2,4}এর মানে হচ্ছে দুই থেকে চারটি "a" এর মধ্যে মিলবে, যেমন"aa","aaa","aaaa"।
- উদাহরণ:
- Escape Characters:
যদি আপনি মেটাচর ব্যবহার করতে চান কিন্তু এটি লিটারেল ক্যারেক্টার হিসেবে ব্যবহার করতে চান, তাহলে আপনাকে backslash\ব্যবহার করতে হবে।- উদাহরণ:
\.এটা একটি ডট চরিত্র হিসাবে কাজ করবে, যাতে.comএর মতো শব্দের মধ্যে ডট মিলানো যায়।
- উদাহরণ:
RegEx এর ব্যবহার উদাহরণ
ইমেইল ঠিকানা যাচাই করা:
একটি সাধারণ RegEx ব্যবহার করে একটি বৈধ ইমেইল ঠিকানা যাচাই করা।def emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/ def email = "example@example.com" if (email =~ emailPattern) { println "Valid email address." } else { println "Invalid email address." }এখানে, RegEx প্যাটার্নটি একটি বৈধ ইমেইল ঠিকানার জন্য নির্ধারিত ফরম্যাট চেক করে।
নাম পরীক্ষা করা:
RegEx ব্যবহার করে আপনি নামের মধ্যে শুধুমাত্র অক্ষর এবং স্পেস থাকতে পারে এমন নিয়ম নির্ধারণ করতে পারেন।def namePattern = /^[a-zA-Z\s]+$/ def name = "John Doe" if (name =~ namePattern) { println "Valid name." } else { println "Invalid name." }এখানে,
^[a-zA-Z\s]+$প্যাটার্নটি শুধুমাত্র অক্ষর এবং স্পেসের মধ্যে মিলবে।
সারসংক্ষেপ
- Regular Expressions একটি বিশেষ ভাষা যা টেক্সটের প্যাটার্ন খুঁজে বের করতে এবং কাজ করতে ব্যবহৃত হয়।
- এটি সাধারণভাবে matching, searching, replacing, এবং validating এর জন্য ব্যবহৃত হয়।
- RegEx এ বিভিন্ন মেটাচর, quantifiers, এবং escape sequences ব্যবহার করে প্যাটার্ন তৈরি করা যায়।
- Groovy তে
=~অপারেটর ব্যবহার করে RegEx এর সাথে স্ট্রিং মিলানো যায় এবং এটি একটি শক্তিশালী টুল হিসেবে কাজ করে টেক্সট ম্যানিপুলেশন এবং যাচাইয়ের জন্য।
Read more