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

পাইথন রেগেক্সে রিপিটিশনের পর নির্দিষ্ট ক্যারেক্টার ম্যাচ না করার পদ্ধতি (নেগেটিভ লুকআহেড)

নিচের টেবিল নেগেটিভ লুকআহেড প্যাটার্নের অংশগুলো ব্যাখ্যা করে:

^স্ট্রিংয়ের শুরু
(?!)যদি ম্যাচ করে না (নেগেটিভ লুকআহেড)
|2{1,2}5)অথবা এক বা দুটি ২ এর পরে একটি ৫
.*অন্য যেকোনো ক্যারেক্টার গ্রহণযোগ্য

উদাহরণ

নিচের কোড প্রদত্ত শর্তগুলো পূরণ করে:

import re
foo = '2249678'
foo2 = '2259678'
result = re.findall(r'^(?!2{1,2}5).*', foo)
result2 = re.findall(r'^(?!2{1,2}5).*', foo2)
print(result)
print(result2)

আউটপুট

এটি নিচের আউটপুট দেবে:

['2249678']
[]

ব্যাখ্যা: ^(?!2{1,2}5) মানে স্ট্রিংয়ের শুরুতে এক বা দুটি 2 এর পরে 5 থাকা উচিত নয়। foo-এ 224... আছে (২ এর পরে ৪), তাই ম্যাচ হয়। foo2-এ 225... আছে (দুটি ২ এর পরে ৫), তাই ম্যাচ হয় না।

  1. পাইথন রেগুলার এক্সপ্রেশন ব্যবহার করে আপারকেস ক্যারেক্টার ম্যাচ করার পদ্ধতি

  2. পাইথন রেগেক্সে রিপিটিশন নির্দিষ্ট করার পদ্ধতি (Quantifiers)

  3. পাইথন রেগুলার এক্সপ্রেশন ব্যবহার করে নন-হোয়াইটস্পেস ক্যারেক্টার ম্যাচ করার পদ্ধতি

  4. পাইথন রেগেক্সে স্ট্রিংয়ের শুরু এবং শেষ ম্যাচ করার পদ্ধতি