الفرق بين المراجعتين لصفحة: «Python/match/expand»

من موسوعة حسوب
< Python‏ | match
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>match.expand()‎</code> في بايثون}}</noinclude> يجري هذا التابع عملية استبدال التسل...'
 
لا ملخص تعديل
سطر 13: سطر 13:
=== <code>template</code> ===
=== <code>template</code> ===


سلسلة نصية تمثّل القالب الذي سيستخدمه التابع لإجراء عمليات الاستبدال.
سلسلة نصية تتضمّن تسلسلات مسبوقة بالخط المائل العكسي تمثّل القالب الذي سيستخدمه التابع لإجراء عمليات الاستبدال.


== القيمة المعادة ==
== القيمة المعادة ==
يعيد التابع السلسلة النصية الناتجة عن إجراء عمليات عملية استبدال التسلسلات المسبوقة بالخط المائل العكسي بالاعتماد على قالب متمثّلٍ بسلسلة نصية، وبنفس طريقة عمل التابع regex.sub()‎. إذ تُحوّل تسلسلات التهريب مثل ‎\n إلى المحارف المقابلة، وتحوّل الإشارات الخلفية الرقمية مثل (‎\2، \1) والإشارات الخلفية المسمّاة مثل (‎\g<1> ،\g<name>‎) بالمحتوى المقابل للمجموعة.
يعيد التابع السلسلة النصية الناتجة عن إجراء عمليات عملية استبدال التسلسلات المسبوقة بالخط المائل العكسي بالاعتماد على قالب متمثّلٍ بسلسلة نصية، وبنفس طريقة عمل التابع <code>[[Python/regex/sub|regex.sub()]]</code>‎. إذ تُحوّل تسلسلات التهريب مثل <code>‎\n</code> إلى المحارف المقابلة، وتحوّل الإشارات الخلفية الرقمية مثل <code>(‎\2، \1)</code> والإشارات الخلفية المسمّاة مثل <code>(‎\g<1> ،\g<name>‎)</code> بالمحتوى المقابل للمجموعة.


'''ملاحظة:''' في الإصدار 3.5 من اللغة يستبدل التابع المجموعات غير المتطابقة بسلاسل نصية فارغة.
'''ملاحظة:''' في الإصدار 3.5 من اللغة يستبدل التابع المجموعات غير المتطابقة بسلاسل نصية فارغة.
سطر 39: سطر 39:


</syntaxhighlight>
</syntaxhighlight>
== انظر أيضًا ==
== انظر أيضًا ==


* التابع <code>[Python/regex/sub|regex.sub()]</code>
* التابع [[Python/regex/sub|regex.sub()‎]] في بايثون.


== مصادر ==
== مصادر ==


* [[https://docs.python.org/3/library/re.html#re.match.expand قسم match في صفحة Regular expression operations في توثيق بايثون الرسمي]].
* [https://docs.python.org/3/library/re.html#re.match.expand قسم match في صفحة Regular expression operations في توثيق بايثون الرسمي].


[[تصنيف:Python]]
[[تصنيف:Python]]
[[تصنيف:Python Regular Expressions]]
[[تصنيف:Python Regular Expressions]]

مراجعة 23:03، 4 يونيو 2018


يجري هذا التابع عملية استبدال التسلسلات المسبوقة بالخط المائل العكسي بالاعتماد على قالب متمثّلٍ بسلسلة نصية.

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

match.expand(template)

المعاملات

template

سلسلة نصية تتضمّن تسلسلات مسبوقة بالخط المائل العكسي تمثّل القالب الذي سيستخدمه التابع لإجراء عمليات الاستبدال.

القيمة المعادة

يعيد التابع السلسلة النصية الناتجة عن إجراء عمليات عملية استبدال التسلسلات المسبوقة بالخط المائل العكسي بالاعتماد على قالب متمثّلٍ بسلسلة نصية، وبنفس طريقة عمل التابع regex.sub()‎. إذ تُحوّل تسلسلات التهريب مثل ‎\n إلى المحارف المقابلة، وتحوّل الإشارات الخلفية الرقمية مثل (‎\2، \1) والإشارات الخلفية المسمّاة مثل (‎\g<1> ،\g<name>‎) بالمحتوى المقابل للمجموعة.

ملاحظة: في الإصدار 3.5 من اللغة يستبدل التابع المجموعات غير المتطابقة بسلاسل نصية فارغة.

أمثلة

يبين المثال التالي النتائج المعادة من هذا التابع:

>>> import re
>>> str = "Hsoub Wiki"
>>> pattern = r'(?P<name>\w+)\s+(\w+)'
>>> match = re.search(pattern, str)
>>> if match:
...     match.expand(r'\g<name>')
... 
'Hsoub'
>>> if match:
...     match.expand(r'\2')
... 
'Wiki'

انظر أيضًا

مصادر