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

من موسوعة حسوب
< Python‏ | re
مراجعة 11:43، 2 يونيو 2018 بواسطة Mohammed Taher (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الاستثناء <code>re.error()‎</code> في بايثون‎}}</noinclude> تطلق اللغة هذا الاستثناء عند تمري...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

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

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

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

انظر أيضًا

مصادر