الاستثناء 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