Regular Expression এর মৌলিক ধারণা
Regular Expression (রেগুলার এক্সপ্রেশন), সংক্ষেপে RegEx বা regexp, একটি প্যাটার্ন বা নিদর্শন, যা সাধারণত টেক্সট ডেটায় নির্দিষ্ট ধরণের তথ্য খুঁজে বের করতে ব্যবহৃত হয়। এটি একটি শক্তিশালী টুল যা বিভিন্ন প্রোগ্রামিং ভাষায় পাওয়া যায় এবং ডেটা ফিল্টারিং, প্রক্রিয়াকরণ, এবং বিশ্লেষণে ব্যবহৃত হয়।
Regular Expression এর মৌলিক বৈশিষ্ট্য
- প্যাটার্ন ভিত্তিক অনুসন্ধান: RegEx ব্যবহার করে আপনি নির্দিষ্ট প্যাটার্ন অনুযায়ী টেক্সট ডেটায় অনুসন্ধান করতে পারেন।
- টেক্সট ম্যানিপুলেশন: এটি ব্যবহার করে আপনি টেক্সট থেকে নির্দিষ্ট অংশ বের করা, পরিবর্তন করা, বা তথ্য খুঁজে বের করা সম্ভব।
- প্রোগ্রামিং ভাষার সমর্থন: RegEx সাধারণত প্রায় সকল আধুনিক প্রোগ্রামিং ভাষায় সমর্থিত, যেমন Python, JavaScript, Java, Perl, এবং AWK।
Regular Expression এর মৌলিক উপাদান
- সাধারণ চরিত্র (Literal Characters): যেমন
a,b,1,2ইত্যাদি। এগুলি সরাসরি মেলে। - বিশেষ চিহ্ন (Metacharacters): যেমন
.,*,+,?,^,$,[ ],( ),{ },|ইত্যাদি। এগুলি নির্দিষ্ট প্যাটার্ন অনুসারে মেলানোর জন্য ব্যবহার করা হয়।
গুরুত্বপূর্ণ Metacharacters এবং তাদের অর্থ
.(ডট): যে কোনো একক অক্ষর নির্দেশ করে।- প্যাটার্ন
h.t"hat", "hot", "hit" এর সাথে মিলে যায়।
- প্যাটার্ন
^(ক্যারেট): কোনো লাইনের শুরু নির্দেশ করে।- প্যাটার্ন
^Helloশুধুমাত্র সেই লাইনের সাথে মিলে যাবে যা "Hello" দিয়ে শুরু হয়।
- প্যাটার্ন
$(ডলার): কোনো লাইনের শেষ নির্দেশ করে।- প্যাটার্ন
end$শুধুমাত্র সেই লাইনের সাথে মিলে যাবে যা "end" দিয়ে শেষ হয়।
- প্যাটার্ন
*(স্টার): শূন্য বা একাধিকবার পূর্ববর্তী চরিত্র বা গ্রুপের পুনরাবৃত্তি নির্দেশ করে।- প্যাটার্ন
ab*"a", "ab", "abb" ইত্যাদির সাথে মিলে যাবে।
- প্যাটার্ন
+(প্লাস): অন্তত একবার পূর্ববর্তী চরিত্র বা গ্রুপের পুনরাবৃত্তি নির্দেশ করে।- প্যাটার্ন
ab+"ab", "abb", "abbb" ইত্যাদির সাথে মিলে যাবে, কিন্তু "a" এর সাথে নয়।
- প্যাটার্ন
?(কোশ্চেন): পূর্ববর্তী চরিত্র বা গ্রুপ শূন্য বা একবার মেলে।- প্যাটার্ন
colou?r"color" এবং "colour" উভয়ের সাথে মিলে যাবে।
- প্যাটার্ন
[ ](সেট): সেটের মধ্যে থাকা যে কোনো একক চরিত্র মেলে।- প্যাটার্ন
[aeiou]যেকোনো vowel এর সাথে মিলে যাবে।
- প্যাটার্ন
|(অর): বিকল্প নির্দেশ করে।- প্যাটার্ন
cat|dog"cat" অথবা "dog" এর সাথে মিলে যাবে।
- প্যাটার্ন
RegEx এর ব্যবহার উদাহরণ
সাধারণ প্যাটার্ন ম্যাচিং:
awk '/^Error/' logfile.txtএই AWK কমান্ডটি
logfile.txtফাইলের শুধুমাত্র সেই লাইনগুলো প্রিন্ট করবে যা "Error" দিয়ে শুরু হয়েছে।নির্দিষ্ট ফিল্ডে প্যাটার্ন অনুসন্ধান:
এই AWK কমান্ডটি
data.txtফাইলের দ্বিতীয় ফিল্ডে বড় হাতের অক্ষর দিয়ে শুরু হওয়া লাইনের পুরো লাইন প্রিন্ট করবে।
সাধারণ RegEx উদাহরণ
[0-9]: যেকোনো সংখ্যা (0 থেকে 9)।[a-z]: ছোট হাতের যেকোনো অক্ষর (a থেকে z)।[A-Z]: বড় হাতের যেকোনো অক্ষর (A থেকে Z)।\d: যেকোনো সংখ্যা (0-9), যা কিছু ভাষায়\dদ্বারা নির্দেশ করা হয়।\w: যেকোনো অক্ষর বা সংখ্যা।\s: যেকোনো স্পেস চিহ্ন।
সারসংক্ষেপ
Regular Expression (RegEx) হল একটি শক্তিশালী টুল যা টেক্সট প্রক্রিয়াকরণ, তথ্য অনুসন্ধান এবং বিশ্লেষণে ব্যবহৃত হয়। এটি বিশেষ চরিত্র এবং প্যাটার্ন ব্যবহার করে ডেটার মধ্যে নির্দিষ্ট অংশ অনুসন্ধান ও পরিবর্তন করতে সাহায্য করে। RegEx এর সাহায্যে প্রোগ্রামাররা সহজেই বড় ডেটাসেট প্রক্রিয়া এবং ফিল্টার করতে পারেন, যা প্রোগ্রামিং এবং ডেটা ম্যানিপুলেশনের ক্ষেত্রে অত্যন্ত কার্যকর।
Read more