পাইথনের রেগুলার এক্সপ্রেশনে সেটের ভিতরে ক্যারেট চিহ্ন
আপনি জানেন, [ ] এর ভিতরে ক্যারেট
ব্র্যাকেটের শুরুতে লিখলে তা নেগেশন তৈরি করে।
এর মানে, এটি এই ব্র্যাকেটের ভিতরে একটি বিশেষ
চিহ্ন। ক্যারেটকে একটি চিহ্ন হিসেবে পেতে হলে
একে হয় এস্কেপ করতে হবে, অথবা প্রথম অবস্থান
থেকে সরাতে হবে।
উদাহরণ
নিম্নলিখিত উদাহরণে সার্চ প্যাটার্নটি হলো:
প্রথম ক্যারেক্টারটি 'd' বাদে সবকিছু,
তারপর 'x' দুইটি অক্ষর:
txt = 'axx bxx ^xx dxx'
res = re.sub('[^d]xx', '!', txt)
print(res)
ফলাফল হিসেবে ভেরিয়েবলে নিম্নলিখিতটি সেভ হবে:
'! ! ! dxx'
উদাহরণ
এবং এখন সার্চ প্যাটার্নটি হলো: প্রথম
ক্যারেক্টারটি 'd' অথবা '^',
তারপর 'x' দুইটি অক্ষর:
txt = 'axx bxx ^xx dxx'
res = re.sub('[d^]xx', '!', txt)
print(res)
ফলাফল হিসেবে ভেরিয়েবলে নিম্নলিখিতটি সেভ হবে:
'axx bxx ! !'
উদাহরণ
ক্যারেটকে প্রথম অবস্থান থেকে সরানোর প্রয়োজন নেই, বরং ব্যাকস্ল্যাশ ব্যবহার করে এটিকে এস্কেপ করলেই এটি নিজেকে নির্দেশ করবে:
txt = 'axx bxx ^xx dxx'
res = re.sub('[\^d]xx', '!', txt)
print(res)
ফলাফল হিসেবে ভেরিয়েবলে নিম্নলিখিতটি সেভ হবে:
'axx bxx ! !'
ব্যবহারিক সমস্যা
একটি স্ট্রিং দেওয়া আছে:
txt = '^xx axx ^zz bkk @ss'
একটি রেগুলার এক্সপ্রেশন লিখুন, যা স্ট্রিংগুলো খুঁজে পাবে এই প্যাটার্ন অনুসারে: ক্যারেট অথবা অ্যাট সাইন, এবং তারপর দুইটি ল্যাটিন অক্ষর।
একটি স্ট্রিং দেওয়া আছে:
txt = '^xx axx ^zz bkk @ss'
একটি রেগুলার এক্সপ্রেশন লিখুন, যা স্ট্রিংগুলো খুঁজে পাবে এই প্যাটার্ন অনুসারে: ক্যারেট নয় এবং অ্যাট সাইন নয়, এবং তারপর দুইটি ল্যাটিন অক্ষর।
একটি স্ট্রিং দেওয়া আছে:
txt = '^xx axx ^zz bkk'
একটি রেগুলার এক্সপ্রেশন লিখুন, যা স্ট্রিংগুলো খুঁজে পাবে এই প্যাটার্ন অনুসারে: ক্যারেট নয় এবং স্পেস নয়, এবং তারপর দুইটি ল্যাটিন অক্ষর।