কম্পিউটার টিউটোরিয়াল

পাইথনে re.findall() এবং re.finditer() মেথডের পার্থক্য কী?

re.findall() মেথড

re.findall() সব ম্যাচিং প্যাটার্নের একটি লিস্ট পেতে হেল্প করে। এটি দেওয়া স্ট্রিংয়ের শুরু বা শেষ থেক সার্চ করে। আপনি যদি findall মেথড ব্যবহার করে একটি প্যাটার্ন দেওয়া স্ট্রিং-এ সার্চ করেন তবে এটি প্যাটার্নের সব অকারেন্স ফেরত দেবে। প্যাটার্ন সার্চ করার সময় re.findall() সবসময় ব্যবহার করার পরামর্শ দেওয়া হয়, এটি re.search() এবং re.match() দুটোর কাজ করে।

উদাহরণ

import re
result = re.search(r'TP', 'TP Tutorials Point TP')
print result.group()

আউটপুট

TP

re.finditer() মেথড

re.finditer(pattern, string, flags=0)

রিটার্ন করে একটি ইটেরেটর যা স্ট্রিং-এ RE প্যাটার্নের সব নন-অভার্ল্যাপিং ম্যাচের জন্য MatchObject ইন্সট্যান্স দেয়। স্ট্রিংটি লेफ্ট-টু-রাইট স্ক্যান করা হয়, এবং ম্যাচগুলো খুঁজে পাওয়ার ক্রমেই ফেরত দেওয়া হয়। খালি ম্যাচগুলো রেজাল্টে ইনক্লুড থাকে।

নিচের কোডটি পাইথন রেজেক্সে re.finditer() মেথডের ব্যবহার দেখাচ্ছে।

উদাহরণ

import re
s1 = 'Blue Berries'
pattern = 'Blue Berries'
for match in re.finditer(pattern, s1):
    s = match.start()
    e = match.end()
    print 'String match "%s" at %d:%d' % (s1[s:e], s, e)

আউটপুট

Strings match "Blue Berries" at 0:12
  1. C#-এ Write() এবং WriteLine() মেথডের পার্থক্য

  2. Tkinter-এ focus এবং focus_set মেথডের পার্থক্য

  3. Tkinter(Python)-এ root.destroy() এবং root.quit() এর পার্থক্য কী?

  4. Python-এ tkinter এবং tkinter.ttk উইজেটের পার্থক্য কী?