re মডিউলের finditer মেথড
re মডিউলের finditer মেথডটি
একটি স্ট্রিংয়ে রেগুলার এক্সপ্রেশন-এর
সমস্ত মিলের একটি ইটারেটর রিটার্ন করে। মেথডের প্রথম প্যারামিটারে আমরা
রেগুলার এক্সপ্রেশনটি নির্দিষ্ট করি। দ্বিতীয় প্যারামিটারে আমরা
সেই স্ট্রিংটি সেট করি যেখানে আমরা রেগুলার এক্সপ্রেশনটি খুঁজছি। তৃতীয়
ঐচ্ছিক প্যারামিটারে ফ্ল্যাগ সেট করা যেতে পারে।
মেথডটি বাম থেকে ডানে খুঁজে সমস্ত মিল পরীক্ষা করে।
সিনট্যাক্স
import re
re.finditer(রেগুলার_এক্সপ্রেশন, স্ট্রিং, [ফ্ল্যাগ])
উদাহরণ
আসুন আমাদের স্ট্রিংয়ে সমস্ত সংখ্যা সহ সাবস্ট্রিং খুঁজে বের করি:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
কোড এক্সিকিউট করার ফলাফল:
<callable_iterator object at 0x000002AA891300A0>
উদাহরণ
এবং এখন আসুন res ভেরিয়েবলটি ডিক্লেয়ার করি,
যার মান হবে আগের উদাহরণে আমরা পাওয়া অবজেক্টটি। তারপর এটিকে
লুপ দিয়ে ইটারেট করি:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
কোড এক্সিকিউট করার পর আমরা দুটি Match অবজেক্ট পাই:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
এই অবজেক্টগুলি টাপলের আকারে রেগুলার এক্সপ্রেশনের সাথে সমস্ত মিলের তথ্য ধারণ করে। আমরা সূচক অনুযায়ী তাদের থেকে মিলগুলি প্রিন্ট করতে পারি:
for el in res:
print(el[0])
কোড এক্সিকিউট করার ফলাফল:
'123'
'456'
উদাহরণ
আরও স্বচ্ছতার জন্য, আসুন মিল খোঁজার সময় গ্রুপ (গর্ত) ব্যবহার করি। এবং লুপ দিয়ে অবজেক্টগুলি ইটারেট করার সময় প্রথম মিলটি প্রিন্ট করি (এটি শূন্য নম্বর গ্রুপ বিবেচনা করা হবে), এবং এর উপাদানগুলিও, আবার গ্রুপে বিভক্ত:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
কোড এক্সিকিউট করার পর আমরা শূন্য নম্বর গ্রুপ পাই, অর্থাৎ সম্পূর্ণ সাবস্ট্রিং, এবং সেই সাবস্ট্রিং থেকে প্রথম ও দ্বিতীয় অক্ষর:
'12' '1' '2'
'45' '4' '5'
আরও দেখুন
-
findallমেথডreমডিউলের,
যা একটি স্ট্রিংয়ে সমস্ত মিলের একটি তালিকা রিটার্ন করে -
searchমেথডreমডিউলের,
যা একটি স্ট্রিংয়ে রেগুলার এক্সপ্রেশনের প্রথম মিল খোঁজে -
matchমেথডreমডিউলের,
যা স্ট্রিংয়ের শুরুতে রেগুলার এক্সপ্রেশনের মিল খোঁজে -
fullmatchমেথডreমডিউলের,
যা একটি স্ট্রিংয়ে রেগুলার এক্সপ্রেশনের সমস্ত মিল খোঁজে -
Match objectreমডিউলের,
যাতে রেগুলার এক্সপ্রেশনের মিল সম্পর্কিত তথ্য থাকে -
splitমেথডreমডিউলের,
যা একটি স্ট্রিংকে নির্দিষ্ট সেপারেটর দ্বারা তালিকায় বিভক্ত করে