Basic Regular Expressions (BRE) এর ধারণা

Regular Expressions এবং Pattern Matching (রেগুলার এক্সপ্রেশন এবং প্যাটার্ন ম্যাচিং) - সেড (Sed) - Computer Programming

326

Basic Regular Expressions (BRE) হল একটি প্যাটার্ন মাচিং ভাষা যা সাধারণত Unix সিস্টেমে ব্যবহৃত হয়, বিশেষত কমান্ড লাইন টুল যেমন sed এবং grep এ। এটি আপনাকে টেক্সট বা স্ট্রিমের মধ্যে বিশেষ প্যাটার্ন খুঁজে বের করতে, পরিবর্তন করতে এবং সংক্ষেপে অনেক ধরনের টেক্সট প্রক্রিয়াকরণ করতে সহায়তা করে।


Basic Regular Expressions (BRE) এর মৌলিক ধারণা

Regular Expressions (RegEx) হলো একটি টেক্সট প্যাটার্ন যা কিছু নির্দিষ্ট নিয়ম বা প্যাটার্নের মাধ্যমে টেক্সট খুঁজে বের করে বা পরিবর্তন করতে ব্যবহৃত হয়। Basic Regular Expressions (BRE) হল RegEx-এর একটি প্রাথমিক সংস্করণ, যা সাধারণভাবে একটি টেক্সট প্যাটার্নে কিছু নির্দিষ্ট অক্ষর, সংখ্যা বা চিহ্নের সাথে মিলে যায় এমন কিছু খুঁজে বের করে।

BRE এর সাধারণ ব্যবহার

BRE ব্যবহারের মূল উদ্দেশ্য হল একটি নির্দিষ্ট প্যাটার্ন অনুসারে টেক্সট খোঁজা এবং সেই প্যাটার্নের সাথে মিল পাওয়া টেক্সট বা লাইন গুলির উপর অপারেশন চালানো।

1. অক্ষরের ম্যাচিং

  • বেসিক অক্ষর: এটি সরাসরি টেক্সটে সেই অক্ষরটি খুঁজে বের করে।

    উদাহরণ:

    • প্যাটার্ন: cat
    • এটি "cat" শব্দের সাথে মেলে এমন টেক্সট খুঁজে বের করবে।
  • ডট (.): যেকোনো একক অক্ষর মেলানোর জন্য . ব্যবহার করা হয়। এটি নতুন লাইন ছাড়া যেকোনো এক অক্ষরকে মেলাতে পারে।

    উদাহরণ:

    • প্যাটার্ন: c.t
    • এটি "cat", "cot", "cut" ইত্যাদির সাথে মেলে।

2. ক্যারেক্টার ক্লাস

ক্যারেক্টার ক্লাস আপনাকে একটি নির্দিষ্ট অক্ষরের মধ্যে প্যাটার্ন মিলাতে সাহায্য করে। সাধারণত স্কয়ার ব্র্যাকেট ([]) ব্যবহার করা হয়।

  • [abc]: এটি a, b, অথবা c যেকোনো একটি অক্ষর মেলাতে ব্যবহার হয়।

    উদাহরণ:

    • প্যাটার্ন: [aeiou]
    • এটি যেকোনো একটি ভোকাল (যেমন 'a', 'e', 'i', 'o', 'u') খুঁজে বের করবে।
  • [^abc]: এটি a, b, অথবা c বাদে যেকোনো অক্ষর মেলাবে।

    উদাহরণ:

    • প্যাটার্ন: [^0-9]
    • এটি যেকোনো অক্ষর খুঁজে বের করবে যা সংখ্যা নয়।

3. কুয়ানটিফায়ার

BRE এ কিছু কুয়ানটিফায়ার ব্যবহার করা হয় যা টেক্সটে নির্দিষ্ট সংখ্যক অক্ষরের পুনরাবৃত্তি নির্দেশ করে:

  • *: পূর্ববর্তী অক্ষরটির শূন্য বা একাধিক পুনরাবৃত্তি নির্দেশ করে।
    উদাহরণ: a* এটি শূন্য বা একাধিক "a" খুঁজে বের করবে।
  • ^: এটি লাইনের শুরু নির্দেশ করে।
    উদাহরণ: ^abc এটি সেই লাইনে খুঁজে বের করবে যেখানে "abc" প্রথমে আসে।
  • $: এটি লাইনের শেষ নির্দেশ করে।
    উদাহরণ: abc$ এটি সেই লাইনে খুঁজে বের করবে যেখানে "abc" শেষ হয়ে থাকে।
  • {n}: এটি একটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তি নির্দেশ করে।
    উদাহরণ: a{3} এটি "aaa" মেলাবে, কিন্তু "aa" বা "aaaa" নয়।
  • {n,m}: এটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তির মধ্যে সীমাবদ্ধ।
    উদাহরণ: a{2,4} এটি "aa", "aaa", অথবা "aaaa" মেলাবে।

4. গ্রুপিং এবং আল্টারনেশন

  • (): এটি একটি গ্রুপ তৈরি করতে ব্যবহৃত হয়, যা একত্রে একটি ইউনিট হিসেবে কাজ করে।

    উদাহরণ:

    • প্যাটার্ন: (abc)+
    • এটি "abc" একাধিকবার পুনরাবৃত্তি হবে এমন মেলানোর জন্য ব্যবহৃত হবে।
  • |: এটি OR অপারেটরের মতো কাজ করে, যার মানে আপনি একাধিক প্যাটার্নের মধ্যে যে কোনো একটি মেলাতে পারেন।

    উদাহরণ:

    • প্যাটার্ন: cat|dog
    • এটি "cat" অথবা "dog" মেলাবে।

5. Escape Character

কিছু চরিত্র যেমন *, . ইত্যাদি যখন প্যাটার্নের অংশ হিসেবে ব্যবহৃত হয় তখন এগুলিকে escape করতে হয়।

  • \: এটি বিশেষ চরিত্রগুলিকে সাধারণ অক্ষরের মতো ব্যবহার করতে সহায়তা করে।
    উদাহরণ: \. এটি একটি ডট (.) চিহ্ন খুঁজে বের করবে, না যে কোনো একক অক্ষর।

6. সঞ্চয় এবং পদ্ধতি

  • \n: এটি পূর্ববর্তী গ্রুপের পুনরাবৃত্তি বা সঞ্চয় করার জন্য ব্যবহৃত হয়।

    উদাহরণ:

    • প্যাটার্ন: \(abc\)\1
    • এটি "abcabc" খুঁজে বের করবে, যেখানে \(abc\) প্রথম গ্রুপ এবং \1 দ্বিতীয় গ্রুপ, যা প্রথম গ্রুপের সাথে মেলে।

BRE এর কিছু সাধারণ ব্যবহার উদাহরণ

  1. "cat" শব্দের সাথে মেলা:

    echo "The cat sat on the mat" | sed 's/cat/dog/'

    এটি প্রথম "cat" শব্দটিকে "dog"-এ পরিবর্তন করবে।

  2. কোনো ভোকাল (a, e, i, o, u) খুঁজে বের করা:

    echo "apple" | sed 's/[aeiou]/X/g'

    এটি "apple" এর সমস্ত ভোকাল অক্ষরকে "X"-এ পরিবর্তন করবে, যার ফলাফল হবে "XpplX"।

  3. লাইনের প্রথম অংশে কোনো প্যাটার্ন মেলা:

    echo "abc xyz" | sed '/^abc/s/xyz/123/'

    এটি সেই লাইনের "abc" প্যাটার্ন খুঁজে "xyz"-এর পরিবর্তে "123" প্রতিস্থাপন করবে।


সারাংশ

Basic Regular Expressions (BRE) একটি শক্তিশালী টুল যা আপনাকে টেক্সট খুঁজে বের করতে, বিশ্লেষণ করতে এবং পরিবর্তন করতে সাহায্য করে। BRE এর মধ্যে সহজ প্যাটার্ন মাচিং, ক্যারেক্টার ক্লাস, কুয়ানটিফায়ার, গ্রুপিং, এবং আরো অনেক শক্তিশালী ফিচার অন্তর্ভুক্ত রয়েছে যা বিশেষভাবে Unix/Linux কমান্ড লাইন টুলগুলিতে ব্যবহৃত হয়, যেমন sed, grep, ইত্যাদি। Regular Expressions-এর মাধ্যমে টেক্সট ম্যানিপুলেশন অনেক সহজ এবং কার্যকর হয়ে ওঠে।

Content added By
Promotion

Are you sure to start over?

Loading...