নিচের টেবিল নেগেটিভ লুকআহেড প্যাটার্নের অংশগুলো ব্যাখ্যা করে:
^ | স্ট্রিংয়ের শুরু |
(?!) | যদি ম্যাচ করে না (নেগেটিভ লুকআহেড) |
|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... আছে (দুটি ২ এর পরে ৫), তাই ম্যাচ হয় না।