Pattern Matching এবং Regular Expressions

String Manipulation (স্ট্রিং ম্যানিপুলেশন) - রেক্স (Rexx) - Computer Programming

278

Rexx একটি অত্যন্ত শক্তিশালী ভাষা যা স্ট্রিং ম্যানিপুলেশন এবং প্যাটার্ন ম্যাচিংয়ের জন্য বেশ কার্যকর। Rexx এ প্যাটার্ন ম্যাচিং এবং রেগুলার এক্সপ্রেশন (Regular Expressions) ব্যবহার করে জটিল স্ট্রিং বা ডেটা খোঁজা এবং ম্যানিপুলেট করা যায়। নিচে Rexx এ Pattern Matching এবং Regular Expressions ব্যবহার করার পদ্ধতি নিয়ে বিস্তারিত আলোচনা করা হল।


1. Pattern Matching (প্যাটার্ন ম্যাচিং)

Pattern Matching হল একটি পদ্ধতি যার মাধ্যমে আমরা একটি নির্দিষ্ট প্যাটার্ন বা স্ট্রিংকে আরেকটি স্ট্রিংয়ের মধ্যে খুঁজে বের করি। Rexx এ এটি খুবই সহজ, এবং সাধারণত match বা index ফাংশন ব্যবহার করা হয়। এছাড়া, parse কমান্ডও প্যাটার্ন ম্যাচিংয়ের জন্য ব্যবহৃত হয়।

match ফাংশন:

match ফাংশনটি একটি প্যাটার্নের সাথে মেলানো অংশ খুঁজে বের করে এবং এটি ম্যাচের পজিশন রিটার্ন করে। যদি কোন মেলানো অংশ না পাওয়া যায়, তবে এটি ০ রিটার্ন করে।

উদাহরণ:

pattern = "apple"
text = "I have an apple and an orange."

position = match(pattern, text)

if position > 0 then
    say "Pattern found at position" position
else
    say "Pattern not found."

এই কোডে, "apple" প্যাটার্নটি "I have an apple and an orange." স্ট্রিংয়ের মধ্যে খুঁজে বের করা হচ্ছে। যদি এটি পাওয়া যায়, তবে মেলানো অংশের পজিশন প্রিন্ট করা হবে।

index ফাংশন:

index ফাংশনটি একটি স্ট্রিংয়ে সাবস্ট্রিং বা প্যাটার্ন খুঁজে বের করে এবং তার পজিশন রিটার্ন করে।

উদাহরণ:

text = "I love programming with Rexx."
position = index(text, "programming")

if position > 0 then
    say "Found 'programming' at position" position
else
    say "'programming' not found."

এই কোডে, "programming" শব্দটি "I love programming with Rexx." স্ট্রিংয়ের মধ্যে খুঁজে বের করা হচ্ছে।

parse ফাংশন:

parse একটি শক্তিশালী টুল যা স্ট্রিংয়ের মধ্যে নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে ব্যবহৃত হয়। এটি খুবই উপকারী যখন আপনি স্ট্রিংয়ের কিছু অংশ আলাদা করতে চান।

উদাহরণ:

text = "Name: John, Age: 30"
parse var text "Name:" name ", Age:" age

say "Name: " name
say "Age: " age

এখানে, parse কমান্ডটি Name: এবং Age: এর পরের অংশ আলাদা করে বের করবে।


2. Regular Expressions (রেগুলার এক্সপ্রেশন)

Rexx-এ রেগুলার এক্সপ্রেশন (regex) ব্যবহার করা সম্ভব, যা স্ট্রিং ম্যানিপুলেশনের জন্য আরও শক্তিশালী এবং নমনীয় পদ্ধতি প্রদান করে। রেগুলার এক্সপ্রেশন দিয়ে আপনি আরও জটিল প্যাটার্ন খুঁজে বের করতে পারবেন, যেমন ইমেইল, ফোন নাম্বার, ওয়েব ইউআরএল ইত্যাদি।

regex ফাংশন:

Rexx-এ রেগুলার এক্সপ্রেশন ব্যবহারের জন্য regex ফাংশনটি ব্যবহার করা হয়। এটি একটি স্ট্রিংয়ের মধ্যে রেগুলার এক্সপ্রেশন প্যাটার্ন মেলে কিনা তা পরীক্ষা করে। Rexx-এ রেগুলার এক্সপ্রেশন ব্যবহারের জন্য আপনাকে regex ফাংশনটি ব্যবহার করতে হবে।

উদাহরণ:

text = "My email is example@example.com"
pattern = "([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})"  /* Email regex pattern */

if regex(pattern, text) then
    say "Email found!"
else
    say "No email found."

এখানে, একটি ইমেইল প্যাটার্ন ব্যবহার করে Rexx চেক করছে যে স্ট্রিংটি একটি বৈধ ইমেইল ঠিকানা ধারণ করে কি না।

রেগুলার এক্সপ্রেশন প্যাটার্নের উদাহরণ:

  • ^: প্যাটার্ন শুরুতে অবস্থান। যেমন, ^abc মানে স্ট্রিংয়ের শুরুতে abc থাকতে হবে।
  • $: প্যাটার্ন শেষে অবস্থান। যেমন, abc$ মানে স্ট্রিংয়ের শেষের দিকে abc থাকতে হবে।
  • .: যেকোনো একক অক্ষর। যেমন, a.b মানে a এবং b এর মধ্যে যেকোনো একক অক্ষর থাকতে হবে।
  • *: পূর্ববর্তী প্যাটার্নের শূন্য বা আরও বেশি ইনস্ট্যান্স। যেমন, a*b মানে a এর পর শূন্য বা আরও বেশি a থাকতে পারে এবং তারপর b থাকতে হবে।
  • +: পূর্ববর্তী প্যাটার্নের এক বা তার বেশি ইনস্ট্যান্স। যেমন, a+b মানে এক বা তার বেশি a এবং তার পর b থাকবে।
  • []: নির্দিষ্ট অক্ষরের সেট। যেমন, [aeiou] মানে যেকোনো ভোকাল শব্দ।
  • (): গ্রুপিং। যেমন, (abc|def) মানে abc বা def

3. Pattern Matching এবং Regex এর পার্থক্য

  • Pattern Matching:
    • সাধারণত একটি নির্দিষ্ট স্ট্রিং বা সাবস্ট্রিং খুঁজে বের করতে ব্যবহৃত হয়।
    • Rexx এর match, index, এবং parse ফাংশনগুলো সহজ প্যাটার্ন ম্যাচিংয়ের জন্য ব্যবহৃত হয়।
    • সাধারণ স্ট্রিং মিলানো এবং সিম্পল প্যাটার্ন খোঁজা।
  • Regular Expressions:
    • আরও শক্তিশালী এবং নমনীয় প্যাটার্ন ম্যাচিংয়ের জন্য ব্যবহৃত হয়।
    • এটি আরও জটিল এবং পরিমিত প্যাটার্ন খুঁজে বের করতে সক্ষম (যেমন, ইমেইল, ফোন নম্বর, ওয়েব ঠিকানা ইত্যাদি)।
    • regex ফাংশন ব্যবহার করে জটিল প্যাটার্ন এবং মাল্টি-লাইন বা বিশেষ প্যাটার্ন খোঁজা যায়।

সারাংশ:

  • Pattern Matching Rexx-এ সরল প্যাটার্ন মেলানোর জন্য ব্যবহৃত হয় এবং match, index, এবং parse ফাংশন দ্বারা এটি সম্পন্ন করা যায়।
  • Regular Expressions Rexx-এ শক্তিশালী প্যাটার্ন ম্যাচিংয়ের জন্য ব্যবহৃত হয়, যা অধিকতর জটিল এবং নমনীয় প্যাটার্ন খুঁজে বের করতে সক্ষম।
  • Regex-এ রেগুলার এক্সপ্রেশন সিম্বল এবং কৌশল ব্যবহার করে আপনার স্ট্রিং ম্যানিপুলেশন কাজ আরও জটিল এবং দ্রুত করতে পারেন।
Content added By
Promotion

Are you sure to start over?

Loading...