কম্পিউটার

পাইথনে রেগুলার এক্সপ্রেশন ব্যাক রেফারেন্স কিভাবে কাজ করে?


গ্রুপিং

আমরা একটি নিয়মিত অভিব্যক্তির অংশকে এক জোড়া বন্ধনীতে আবদ্ধ করে গোষ্ঠীবদ্ধ করি। এইভাবে আমরা একটি একক অক্ষরের পরিবর্তে গ্রুপে অপারেটর প্রয়োগ করি।

ক্যাপচারিং গ্রুপ এবং ব্যাকরেফারেন্স

বন্ধনী শুধুমাত্র গ্রুপ সাব-অভিব্যক্তিই নয়, তারা ব্যাক রেফারেন্সও তৈরি করে। রেগুলার এক্সপ্রেশনের গোষ্ঠীবদ্ধ অংশের সাথে মিলে যাওয়া স্ট্রিংয়ের অংশটি একটি ব্যাকরেফারেন্সে সংরক্ষণ করা হয়। ব্যাকরেফারেন্স ব্যবহার করে আমরা রেগুলার এক্সপ্রেশনের কিছু অংশ পুনরায় ব্যবহার করি।

যদি উপ-অভিব্যক্তিটি বন্ধনীতে স্থাপন করা হয়, তাহলে এটি \1 বা $1 ইত্যাদি দিয়ে অ্যাক্সেস করা যেতে পারে।

উদাহরণস্বরূপ, regex \b(\w+)\b\s+\1\b পুনরাবৃত্ত শব্দের সাথে মেলে, যেমন তাহিতি তাহিতি, কারণ (\w+) এর বন্ধনীগুলি গ্রুপ 1 এর একটি শব্দ ক্যাপচার করে ব্যাক-রেফারেন্স \1 গ্রুপ 1 দ্বারা ক্যাপচার করা অক্ষরের সাথে মেলে।

উদাহরণ

import re s ='Tahiti Tahiti Atoll' ফলাফল =re.findall(r'\b(\w+)\b\s+\1\b', s) প্রিন্ট ফলাফল

আউটপুট

এটি আউটপুট দেয়

['Tahiti']

  1. পাইথনে রেগুলার এক্সপ্রেশন গ্রুপিং কিভাবে কাজ করে?

  2. রেগুলার এক্সপ্রেশন ব্যবহার করে পাইথনে একটি একক অক্ষর কীভাবে মেলে?

  3. রেগুলার এক্সপ্রেশন ব্যবহার করে পাইথনে শুধুমাত্র নন-ডিজিট কিভাবে মেলে?

  4. পাইথনে রেগুলার এক্সপ্রেশন মডিফায়ার কিভাবে কাজ করে?