এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যা regexes ব্যবহার করে একটি স্ট্রিং-এ 1(0+1) এর সমস্ত ঘটনা খুঁজে বের করে। . পাইথনে আমাদের একটি রি মডিউল আছে যা রেগুলার এক্সপ্রেশনের সাথে কাজ করতে সাহায্য করে।
আসুন একটি নমুনা কেস দেখি।
ইনপুট:স্ট্রিং ="নমুনা 1(0+)1 স্ট্রিং সহ 1(0+)1 অপ্রয়োজনীয় প্যাটার্ন 1(0+)1" আউটপুট:প্যাটার্ন ম্যাচের মোট সংখ্যা 3 ['1(0+)1' , '1(0+)1', '1(0+)1']
প্রোগ্রামের জন্য কোড লিখতে নিচের ধাপগুলো অনুসরণ করুন।
অ্যালগরিদম
<পূর্ব>1. পুনরায় মডিউল আমদানি করুন।2. একটি স্ট্রিং শুরু করুন.3. রেগুলার এক্সপ্রেশন ব্যবহার করে একটি রেজেক্স অবজেক্ট তৈরি করুন যা re.compile() ব্যবহার করে প্যাটার্নের সাথে মেলে। স্বাভাবিক স্ট্রিংয়ের পরিবর্তে ফাংশনে একটি কাঁচা স্ট্রিং পাস করতে ভুলবেন না।4। এখন, উপরের ধাপ থেকে regex অবজেক্ট এবং regex_object.findall() method.5 ব্যবহার করে প্যাটার্নের সমস্ত উপস্থিতি মেলে। উপরের ধাপগুলি একটি ম্যাচ অবজেক্ট ফিরিয়ে দেয় এবং match_object.group() পদ্ধতি ব্যবহার করে মিলে যাওয়া প্যাটার্নগুলি প্রিন্ট করে।আসুন কোডটি দেখি।
উদাহরণ
# re moduleimport re# আমদানি করা হচ্ছে স্ট্রিংস্ট্রিং শুরু করা হচ্ছে ="1(0+)1 অপ্রয়োজনীয় প্যাটার্ন 1(0+)1 সহ নমুনা 1(0+)1 স্ট্রিং"# আমাদের patterregex =re-এর জন্য একটি regex অবজেক্ট তৈরি করা। compile(r"\d\(\d\+\)\d") # এই regex অবজেক্টটি regex.findall( ব্যবহার করে একটি ভেরিয়েবলে সমস্ত ম্যাচ প্যাটার্ন সংরক্ষণ করে 1(0+)1# সমস্ত প্যাটার এনএস খুঁজে পাবে ) methodresult =regex.findall(string) # ফলাফল হল একটি ম্যাচ অবজেক্ট# প্যাটার্ন প্রিন্টের ফ্রিকোয়েন্সি প্রিন্ট করা .group() মেথডপ্রিন্ট(ফলাফল)
আউটপুট
আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত আউটপুট পাবেন।
মোট প্যাটার্ন মাচ সংখ্যা 3['1(0+)1', '1(0+)1', '1(0+)1']
উপসংহার
টিউটোরিয়াল সম্পর্কে আপনার কোন সন্দেহ থাকলে মন্তব্য বিভাগে উল্লেখ করুন।