في الجزء الأولمن هذه السلسلة توقفنا عند هذا الكود
import re if re.search('a*', 'cucumber'): print "found it!" else: print "didn't find it :("
ونتيجة هذا الكود ستكون found it وهذا بسبب أن العلامة * في عالم التعابير القياسية تعني تطابق منعدم لأخر حرف في السلسلة اي إذا كان النمط *a كاننا نقول اذا لم تجد اي تطابق للحرف a في أخر حرف من السلسلة فقم بكذا وهذا ماحدث في مثالنا حيث لم يجد أي تطابق للحرف a في الحرف الأخير من السلسلة cucumber كما أن جميع السلاسل الفارغة تتطابق مع العلامة *.
العلامة +
تقوم هذه العلامة بتطابق نمط واحد أو أكثر حيث ان +a تتطابق مع batman ;ولا تتطابق مع cucumber .
العلامة ^
تعني هذه العلامة بداية السلسلة حيث أن النمط ^j تتطابق مع السلسلة joker ولكنها لا تتطابق مع السلسلة banjo.
العلامة $
هذه العلامة عكس سابقتها ^ أي تعني نهاية السلسلة حيث أن $g تتطابق مع السلسلة bag ولا تتطابق مع game.
حان الوقت لجدول أخر :
دعونا نأخد مثال رائع بحيث يكون لدينا برنامج يتحقق من السلسلة ما إذا كانت تتطابق مع شكل رقم الهاتف مثل 0123456789
import re number = raw_input("enter phone number: ") if re.search('^\d\d\d\d\d\d\d\d\d\d$', number): print "it's valid!" else: print "nope!"
الأقواس في التعابير القياسية عبارة عن حالات خاصة ساقوم بشرحها في الجزء الثالث بحول الله ولهذا لم أستعملها حتى نتكلم عنهم ، على كل حال بدأنا بالنمط^ والتي تمثل بداية السلسلة واما العلامة$ فإنها تمثل نهاية السلسلة وهكذا لا يمكننا أن نقول على رقم ما أنه رقم صحيح إذا قام المستخدم بإدخال سلسلة مثل “blahblahblah3333333333something else ” بعد ذلك وضعنا عشرة أرقام وهذا هو كل شيء .
سأكتفي يهذا القدر القليل فقط حتى لا تختلط علينا الأمور وسنكمل باقي السلسلة في الجزء الثالث