الاستثناء re.error()‎ في بايثون‎

من موسوعة حسوب
< Python‏ | re
مراجعة 14:07، 18 يونيو 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

تطلق اللغة هذا الاستثناء عند تمرير سلسلة نصية غير صالحة كتعبير نمطي إلى إحدى الدوال السابقة (كأن تتضمن السلسلة أقواسًا غير متطابقة)، أو عند حدوث أخطاء أخرى أثناء عملية التصريف أو المطابقة. لا يعد خلوّ السلسلة النصية من التطابقات خطأً على الإطلاق.

البنية العامة

re.error(msg, pattern=None, pos=None)

الخاصيات

تمتلك نسخة الخطأ الخصائص الإضافية التالية:

msg

رسالة الخطأ غير المنسّقة.

pattern

التعبير النمطي.

pos

موقع حدوث الخطأ في تصريف التعبير النمطي (قد يأخذ القيمة None).

lineno

السطر الحاوي على قيمة الخاصية pos (قد يأخذ القيمة None).

colno

العمود الحاوي على قيمة الخاصية pos (قد يأخذ القيمة None).

ملاحظة: أضيفت الخصائص الإضافية في الإصدار 3.5 من اللغة.

أمثلة

يبين المثال التالي طريقة الاستفادة من هذا الاستثناء:

>>> import re
>>> try:
...     p = re.compile(r'[a-z[')
... except re.error as err:
...     print (err)
...     print ('Error message: ' + err.msg)
...     print ('Error position: ' + str(err.pos))
...     print ('Regular expression: ' + err.pattern)
...     print ('Error Line number: ' + str(err.lineno))
...     print ('Error column number: ' + str(err.colno))
...     
... 
unterminated character set at position 0
Error message: unterminated character set
Error position: 0
Regular expression: [a-z[
Error Line number: 1
Error column number: 1

انظر أيضًا

مصادر