الفرق بين المراجعتين لصفحة: «Python/regex»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الكائن <code>regex</code> في بايثون}}</noinclude> | <noinclude>{{DISPLAYTITLE:الكائن <code>regex</code> في بايثون}}</noinclude> | ||
ينشأ كائن التعبير النمطي <code>regex</code> من تصريف التعبير النمطي بواسطة الدالة <code>[[Python/re/compile|re.compile()]]</code>، ويقدّم هذا الكائن مجموعة من الخصائص والتوابع التي يمكن من خلالها إجراء العديد من العمليات على التعابير النمطية المصرّفة. | ينشأ كائن التعبير النمطي <code>regex</code> من تصريف التعبير النمطي بواسطة الدالة <code>[[Python/re/compile|re.compile()]]</code>، ويقدّم هذا الكائن مجموعة من الخصائص والتوابع التي يمكن من خلالها إجراء العديد من العمليات على التعابير النمطية المصرّفة. | ||
سطر 61: | سطر 60: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* [[Python/match|الكائن match | * [[Python/match|الكائن match]] : ينشأ هذا الكائن كنتيجة لتطبيق التابعين <code>[[Python/regex/match|regex.match()]]</code> و <nowiki/>[[Python/regex/search|<code>regex.search()</code>]] على التعبير النمطي المصرّف. | ||
* [[Python/re|الوحدة re | * [[Python/re|الوحدة re]]: تقّدم الوحدة <code>re</code> مجموعة من العمليات الخاصة بمطابقة التعابير النمطية Regular Expressions وهي مشابهة إلى حدّ كبير للعمليات الموجودة في لغة Perl. | ||
== مصادر == | == مصادر == | ||
* [https://docs.python.org/3/library/re.html#module-re صفحة Regular expression operations في توثيق بايثون الرسمي.] | * [https://docs.python.org/3/library/re.html#module-re صفحة Regular expression operations في توثيق بايثون الرسمي.] | ||
[[تصنيف:Python]] | |||
[[تصنيف:Python Regular Expressions]] | |||
[[تصنيف:Python Modules]] |
مراجعة 10:37، 12 يونيو 2018
ينشأ كائن التعبير النمطي regex
من تصريف التعبير النمطي بواسطة الدالة re.compile()
، ويقدّم هذا الكائن مجموعة من الخصائص والتوابع التي يمكن من خلالها إجراء العديد من العمليات على التعابير النمطية المصرّفة.
خصائص الكائن regex
يقدّم الكائن regex
الخصائص التالية:
regex.flags
رايات التطابق الخاص بالكائن regex
، وتمثّل مجموعة الرايات التي تمرّر إلى الدالة re.compile()
، إضافة إلى الرايات السطرية (?...)
في التعابير النمطية، والرايات الضمنية مثل UNICODE
إن كان التعبير النمطي سلسلة نصية بترميز Unicode.
regex.groups
عدد مجموعات الالتقاط في التعبير النمطي.
regex.groupindex
قاموس يربط أسماء المجموعات الرمزية والمعرّفة بواسطة التعبير (?P<id>)
بأعداد المجموعات. يكون القاموس خاليًا إن لم تستخدم أي مجموعة رمزية في التعبير النمطي.
regex.pattern
سلسلة التعبير النمطي التي استُخدمت لتصريف كائن التعبير النمطي.
تقدّم الشيفرة التالية مثالًا عن القيم التي يمكن أن تحملها هذه الخصائص:
>>> import re
>>> p = re.compile(r'(?P<word>\b\w+\b)', re.IGNORECASE)
>>> p.flags
34
>>> p.groups
1
>>> p.groupindex
mappingproxy({'word': 1})
>>> p.pattern
'(?P<word>\\b\\w+\\b)'
توابع الكائن regex
يقدّم الكائن regex
التوابع التالية:
التابع regex.search()
يفحص هذا التابع السلسلة النصية المعطاة بحثًا عن أول موقع يحصل فيه تطابق مع التعبير النمطي المصرّف، ويعيد كائن التطابق المقابل.
التابع regex.match()
يفحص هذا التابع بداية السلسلة النصية المعطاة بحثًا عن حالة تطابق مع التعبير النمطي المصرّف، ويعيد كائن التطابق المقابل.
التابع regex.fullmatch()
يتحقّق هذا التابع من تطابق التعبير النمطي المصرّف مع السلسلة النصية المعطاة كاملة، ويعيد كائن التطابق المقابل.
التابع regex.split()
يقسم التابع السلسلة النصية عند كل مكان تحدث فيه عملية مطابقة للنمط المصرّف. هذا التابع مطابق تمامًا للدالة re.split()
.
التابع regex.findall()
يعيد التابع جميع حالات التطابق غير المتداخلة للنمط المصرّف والمطبّق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية.
التابع regex.finditer()
يعيد التابع كائنًا قابلًا للتكرار iterator ينتج عنه كائنات match
لجميع حالات التطابق غير المتداخلة والناتجة من تطبيق التعبير النمطي المصرّف على السلسلة النصية المعطاة.
التابع regex.sub()
يبدل التابع حالات التطابق غير المتداخلة في أقصى اليسار -والناتجة عن تطبيق التعبير النمطي المصرّف على السلسلة النصية المعطاة- بسلسلة نصية أو بالقيمة المعادة من دالة.
التابع regex.subn()
يؤدي هذا التابع نفس عمل التابع regex.sub()
ولكنّه يعيد الناتج على هيئة صفّ (السلسلة الجديدة، عدد الاستبدالات المجراة).
انظر أيضًا
- الكائن match : ينشأ هذا الكائن كنتيجة لتطبيق التابعين
regex.match()
وregex.search()
على التعبير النمطي المصرّف. - الوحدة re: تقّدم الوحدة
re
مجموعة من العمليات الخاصة بمطابقة التعابير النمطية Regular Expressions وهي مشابهة إلى حدّ كبير للعمليات الموجودة في لغة Perl.