نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

JavaScript/Topics/Expressions and Operators

هذا القسم فيه ما يتعلق بالتعابير والمعاملات في JavaScript. التعابير الأساسية وهي تتضمن التعابير والكلمات المحجوزة العامة في JavaScript. this تُحدَّد قيمة الكلمة المحجوزة this وفق طريقة استدعاء الدالة. function (تعبير تعريف الدوال) الكلمة المحجوزة function تُستخدَم لتعريف دالة داخل تعبير (expression). انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال. class (تعبير تعريف الأصناف) الكلمة المحجوزة class تشير إلى تعبير تعريف للأصناف. function*‎ (تعبير تعريف الدوال المولدة) الكلمة المحجوزة function*‎ تُستخدَم لتعريف دالة مولِّدة داخل تعبير. انظر إلى صفحة «الدوال في JavaScript» ...

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

تطلق اللغة هذا الاستثناء عند تمرير سلسلة نصية غير صالحة كتعبير نمطي إلى إحدى الدوال السابقة (كأن تتضمن السلسلة أقواسًا غير متطابقة)، أو عند حدوث أخطاء أخرى أثناء عملية التصريف أو المطابقة. لا يعد خلوّ السلسلة النصية من التطابقات خطأً على الإطلاق. البنية العامة re.error(msg, pattern=None, pos=None) الخاصيات تمتلك نسخة الخطأ الخصائص الإضافية التالية: msg رسالة الخطأ غير المنسّقة. pattern التعبير النمطي. pos موقع حدوث الخطأ في تصريف التعبير النمطي (قد يأخذ القيمة None). lineno السطر الحاوي على قيمة الخاصية ...

Python/fnmatch

تُقدم هذه الوحدة دعمًا لwildcards المماثلة لنمط صدفة يونكس، وهي ليست نفسها التعابير النظامية Regular Expression (المذكورة في الوحدة re)، فالرموز الخاصة التي تستخدمها الwildcards من نمطصدفة يونكس هي التالية: النمط المعنى * يطابق كل شيء ? يطابق أي محرف مفرد [seq] يطابق أي محرف من المحارف المذكورة بين القوسين [seq!] يطابق أي محرف من المحارف المذكورة غير بين القوسين وفي حال الرغبة في مطابقة المحرف '?' حرفيًّا (وليس مدلوله الخاص) عندها يمكن وضعه بين قوسين مربعين [?].

الدالة re.search()‎ في بايثون‎

تفحص الدالة السلسلة النصية بحثًا عن أول موقع يحصل فيه تطابق مع التعبير النمطي المعطى، وتعيد كائن match المقابل. البنية العامة re.search(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة تعيد الدالة كائن match عند العثور على حالة تطابق بين التعبير النمطي والسلسلة ...

الكائن regex في بايثون

ينشأ كائن التعبير النمطي regex من تصريف التعبير النمطي بواسطة الدالة re.compile()‎، ويقدّم هذا الكائن مجموعة من الخصائص والتوابع التي يمكن من خلالها إجراء العديد من العمليات على التعابير النمطية المصرّفة. خصائص الكائن regex يقدّم الكائن regex الخصائص التالية: regex.flags رايات التطابق الخاص بالكائن regex، وتمثّل مجموعة الرايات التي تمرّر إلى الدالة re.compile()‎، إضافة إلى الرايات السطرية (‎?...‎) في التعابير النمطية، والرايات الضمنية مثل UNICODE إن كان التعبير النمطي سلسلة نصية بترميز Unicode. regex.groups عدد مجموعات الالتقاط في التعبير النمطي. ...

الكائن match في بايثون

ينشأ الكائن match كنتيجة لتطبيق التابعين regex.match()‎ و regex.search()‎ على التعبير النمطي المصرّف. تمتلك كائنات match القيمة المنطقية True دائمًا، ولما كان التابعان match()‎ و search()‎ يعيدان القيمة None عندما لا يكون هناك حالات تطابق، يمكن التحقق من وجود التطابق باستخدام عبارة if بسيطة: match = re.search(pattern, string) if match: process(match) تدعم كائنات match التوابع والخصائص التالية: خصائص الكائن match match.pos قيمة المعامل pos الممرّر إلى التابعين regex.search()‎ و regex.match()‎. تمثّل هذه الخاصية الموقع الذي تبدأ فيه عملية البحث ...

التابع match.groupdict()‎ في بايثون

يعيد التابع قاموسًا يحتوي على جميع المجموعات الفرعية المسمّاة في كائن التطابق، وتستخدم أسماء المجموعات الفرعية كمفاتيح في القاموس. البنية العامة match.groupdict(default=None) المعاملات default يستخدم هذا المعامل لتعيين قيمة افتراضية للمجموعات غير الموجودة في حالة التطابق، ويأخذ القيمة الافتراضية None. القيمة المعادة يعيد التابع قاموسًا يحتوي جميع المجموعات الفرعية المسمّاة ضمن حالة التطابق، وتستخدم أسماء المجموعات الفرعية كمفاتيح في القاموس. أمثلة يبين المثال التالي النتائج المعادة من هذا التابع: >>> m = re.match(r"(?P<first_name>\w+) (?P<last_name>\w+)", "Malcolm Reynolds") >>> m.groupdict() {'first_name': 'Malcolm', 'last_name': 'Reynolds'} ...

التابع match.span()‎ في بايثون

يعيد التابع صفًّا يتكون من عنصرين هما (القيمة المعادة من m.end(group)‎, القيمة المعادة منm.start(group)‎). البنية العامة match.span([group]) المعاملات group المجموعة المراد معرفة موقعها. يأخذ المعامل group القيمة الافتراضية صفر في حالة التطابق الكاملة. القيمة المعادة يعيد التابع صفًّا يتكون من عنصرين هما (‎ m.start(group)‎, m.end(group)‎‎). إن لم تشارك المجموعة الممرّرة في حالة التطابق، فإنّ التابع يعيد الصفّ (‎-1, -1). أمثلة يبين المثال التالي النتائج المعادة من هذا التابع: >>> import re >>> p = re.compile('(ab)*') >>> match = p.match('ababababab') >>> match.start() 0 >>> match.end() 10 >>> match.span() (0, ...

الدالة re.fullmatch()‎ في بايثون‎

تتحقّق الدالة ممّا إذا كانت السلسلة النصية بأكملها مطابقة للتعبير النمطي المعطى. البنية العامة re.fullmatch(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة إن طابقت السلسلة النصية بأكملها التعبير النمطي المعطى، فستعيد الدالة كائن match المقابل، وتعيد القيمة None إن لم تطابق السلسلة ...

الدالة re.finditer()‎ في بايثون‎

تعيد الدالة كائنًا قابلًا للتكرار iterator ينتج عنه كائنات match لجميع حالات التطابق غير المتداخلة والناتجة من تطبيق التعبير النمطي المعطى على السلسلة النصية المعطاة. البنية العامة re.finditer(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة تعيد الدالة كائنًا قابلًا للتكرار iterator ينتج ...

الدالة re.match()‎ في بايثون‎

تفحص الدالة بداية السلسلة النصية بحثًا عن حالة تطابق مع التعبير النمطي المعطى، وتعيد كائن match المقابل. البنية العامة re.match(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة تعيد الدالة كائن match المقابل إن عثرت على صفر أو أكثر من المحارف في بداية ...

التابع match.__getitem__()‎ في بايثون

يؤدي هذا التابع عملًا مماثلًا للتابع match.group(g)‎، ويسهّل عملية الوصول إلى المجاميع المفردة في تطابق معين باستخدام الصيغة m[g]‎. البنية العامة match.__getitem__(g) المعاملات g رقم المجموعة المراد الوصول إليها في كائن التطابق. القيمة المعادة يعيد التابع القيمة التي تحملها المجموعة الممرّر رقمها إليه كمعامل. ملاحظة: هذا التابع جديد في الإصدار 3.6. أمثلة يبين المثال التالي طريقة الوصول إلى المجموعات والتي يتيحها هذا التابع: >>> m = re.match(r"(\w+) (\w+)", "Isaac Newton, physicist") >>> m[0] # التطابق ...

التابع match.groups()‎ في بايثون

يعيد التابع صفًّا يحتوي على جميع المجموعات الفرعية الموجودة في كائن التطابق. البنية العامة match.groups(default=None) المعاملات default يستخدم هذا المعامل لتعيين قيمة افتراضية للمجموعات غير الموجودة في حالة التطابق، ويأخذ القيمة الافتراضية None. القيمة المعادة يعيد التابع صفًّا يحتوي على جميع المجموعات الفرعية الموجودة في كائن التطابق، بدءًا من المجموعة رقم 1 وانتهاءً بعدد المجموعات الفرعية الموجودة في التعبير النمطي. أمثلة يبين المثال التالي النتائج المعادة من هذا التابع: >>> m = re.match(r"(\d+)\.(\d+)", "24.1632") >>> m.groups() ('24', '1632') إن جعلنا النقطة العشرية ...

التابع match.expand()‎ في بايثون

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

التابع match.end()‎ في بايثون

يعيد هذا التابع موقع نهاية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. البنية العامة match.end([group]) المعاملات group المجموعة التي سيستخدمها التابع لمطابقة السلسلة النصية معها. يأخذ المعامل group القيمة الافتراضية 0 (أي أن التطابق حصل في السلسلة النصية الفرعية بأكملها). القيمة المعادة يعيد التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. ويعيد التابع القيمة ‎-1 إن كانت المجموعة موجودة ولكنّها لا تساهم في حالة التطابق. لو فرضنا وجود كائن تطابق m ومجموعة g تساهم في حالة التطابق، فإن ...

توحيد التعبير الشرطي (Consolidate Conditional Expression)

المشكلة وجود عدة شروط تؤدي إلى نفس النتيجة أو الإجراء. الحل توحيد جميع هذه الشروط في تعبير وحيد. مثال قبل إعادة التصميم وجود عدة شروط يتم التحقق منها في الشيفرة: في لغة Java: double disabilityAmount() { if (seniority < 2) { return 0; } if (monthsDisabled > 12) { return 0; } if (isPartTime) { return 0; } // حساب مقدار العجز //... } في ...

التابع match.start()‎ في بايثون

يعيد هذا التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. البنية العامة match.start([group]) المعاملات group المجموعة التي سيستخدمها التابع لمطابقة السلسلة النصية معها. يأخذ المعامل group القيمة الافتراضية 0 (أي أن التطابق حصل في السلسلة النصية الفرعية بأكملها). القيمة المعادة يعيد التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. ويعيد التابع القيمة ‎-1 إن كانت المجموعة موجودة ولكنّها لا تساهم في حالة التطابق. لو فرضنا وجود كائن تطابق m ومجموعة g تساهم في حالة التطابق، فإن ...

التابع regex.split()‎ في بايثون‎

يقسم التابع السلسلة النصية عند كل مكان تحدث فيه عملية مطابقة للنمط المصرّف. هذا التابع مطابق تمامًا للدالة re.split()‎. البنية العامة regex.split(string, maxsplit=0) المعاملات string السلسلة النصية التي سيبحث فيها التابع عن حالات التطابق. maxsplit العدد الأقصى من التقسيمات التي سيجريها التابع على السلسلة النصية. في حال كان العدد الأقصى من التقسيمات أقل من عدد حالات المطابقة فإنّ التابع يعيد ما يبقى من السلسلة النصية ليكون العنصر الأخير في القائمة المعادة. يأخذ هذا المعامل القيمة الافتراضية 0. القيمة المعادة يقسم ...

الدالة re.escape()‎ في بايثون‎

تهرّب الدالة جميع المحارف الخاصّة في التعبير النمطي المعطى باستثناء حروف الترميز ASCII، والأعداد والشرطة السفلية. البنية العامة re.escape(pattern) المعاملات pattern التعبير النمطي الذي تهرّب الدالة محارفه الخاصة. القيمة المعادة تعيد الدالة النمط الأصلي بعد تهريب جميع المحارف الخاصّة فيه باستثناء حروف الترميز ASCII، والأعداد والشرطة السفلية. هذه الدالة مفيدة عند الحاجة إلى مطابقة سلسلة نصية يحتمل أن تتضمن بعض الحروف الخاصّة بالتعابير النمطية. أمثلة تبيّن الأمثلة التالية طرق استخدام الدالة re.escape()‎: >>> print(re.escape('python.exe')) python\.exe >>> legal_chars = string.ascii_lowercase + string.digits + ...

التابع bytes.title()‎ في بايثون

يحوّل التابع‎ أوائل الكلمات في التسلسل الثنائي إلى أحرف كبيرة Title Case بترميز ASCII. البنية العامة bytes.title() القيمة المعادة يعيد التابع نسخة من التسلسل الثنائي تكون فيها أوائل الكلمات ذات أحرف كبيرة بترميز ASCII. الحروف الصغيرة في ترميز ASCII هي قيم البايتات التي تقع ضمن التسلسل: ‎b'abcdefghijklmnopqrstuvwxyz'‎. أما الحروف الكبيرة في ترميز ASCII هي قيم البايتات التي تقع ضمن التسلسل: ‎b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'‎. أمثلة يوضح المثال التالي النتيجة المعادة من تطبيق التابع على سلسلة نصية: >>> 'Hello world'.title() 'Hello World' توضيح يستخدم التابع ...

التابع bytes.title()‎ في بايثون

يحوّل التابع‎ أوائل الكلمات في التسلسل الثنائي إلى أحرف كبيرة Title Case بترميز ASCII. البنية العامة bytes.title() القيمة المعادة يعيد التابع نسخة من التسلسل الثنائي تكون فيها أوائل الكلمات ذات أحرف كبيرة بترميز ASCII. الحروف الصغيرة في ترميز ASCII هي قيم البايتات التي تقع ضمن التسلسل: ‎b'abcdefghijklmnopqrstuvwxyz'‎. أما الحروف الكبيرة في ترميز ASCII هي قيم البايتات التي تقع ضمن التسلسل: ‎b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'‎. أمثلة يوضح المثال التالي النتيجة المعادة من تطبيق التابع على سلسلة نصية: >>> 'Hello world'.title() 'Hello World' توضيح يستخدم التابع ...

الدالة Regex_1 في Kotlin

أصبحت الدالة Regex_1 مهملة، إذ كانت متوافرة من أجل التوافقية الثنائية (binary compatibility). تنشئ هذه الدالة تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة مع استعمال الخيارات الافتراضية. البنية العامة fun Regex_1(pattern: String): Regex (source) المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. القيم المعادة يعاد كائن من النوع Regex يحتوي على التعبير النمطي pattern بعد ضبطه وفقًا للقيمة الافتراضية للخيارات. انظر أيضًا الدالة Regex()‎: تنشئ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الدالة findAll()‎: تبحث عن جميع المحارف المتطابقة مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف الممرَّرة ...

الدالة Regex_0 في Kotlin

أصبحت الدالة Regex_0 مهملة، إذ كانت متوافرة من أجل التوافقية الثنائية (binary compatibility). تنشئ هذه الدالة تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية والخيارات المُمرّرة إليها. البنية العامة fun Regex_0(pattern: String, option: RegexOption): Regex منصة التشغيل المطلوبة: JS. المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. option كائن من النوع RegexOption يحوي خيارًا واحدًا من خيارات التعابير النمطية. القيم المعادة يعاد كائن من النوع Regex يحتوي على التعبير النمطي pattern بعد ضبطه وفقًا للخيار option. انظر أيضًا الدالة Regex()‎: تنشئ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الدالة containsMatchIn()‎: تتحقق ...

الدالة re.subn()‎ في بايثون‎

تؤدي هذه الدالة نفس عمل الدالة re.sub()‎ ولكنّها تعيد الناتج على هيئة صفّ (السلسلة الجديدة، عدد الاستبدالات المجراة). البنية العامة re.subn(pattern, repl, string, count=0, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. يمكن للنمط أن يكون سلسلة نصية أو كائن نمط (pattern object). repl يمكن للبديل repl أن يكون سلسلة نصية أو دالة، وإن كان سلسلة نصية، فإنّ الدالة تعالج جميع المحارف المهرّبة فيها. بمعنى أنّ ‎\n تحوّل إلى محرف سطر جديد مفرد، و ‎\r تحوّل إلى حرف إرجاع، ...

التابع match.group()‎ في بايثون

يعيد التابع مجموعة فرعية واحدة أو أكثر من المجموعات الموجودة في كائن التطابق. البنية العامة match.group([group1, ...]) المعاملات group1 يأخذ هذا التابع معاملًا واحدًا أو أكثر، وهو عبارة عن عدد صحيح يمثّل رقم المجموعة المراد معرفة قيمتها. القيمة المعادة يعيد التابع مجموعة فرعية واحدة أو أكثر من مجموعات التطابق. إن أخذ التابع معاملًا واحدًا، فإنّ النتيجة تكون سلسلة نصية مفردة، وإن كان هناك عدد من المعاملات، فإنّ النتيجة تكون صفًّا يحتوي على عناصر بعدد المعاملات الممررة. أما إن لم يُمرّر ...

الدالة re.findall()‎ في بايثون‎

تعيد الدالة جميع حالات التطابق غير المتداخلة للنمط المطبق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية. البنية العامة re.findall(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة تعيد الدالة جميع حالات التطابق غير المتداخلة للنمط المطبق على السلسلة النصية المعطاة ...

الدالة re.sub()‎ في بايثون‎

تبدل الدالة حالات التطابق غير المتداخلة في أقصى اليسار -والناتجة عن تطبيق التعبير النمطي المعطى على السلسلة النصية المعطاة- بسلسلة نصية أو بالقيمة المعادة من دالة. البنية العامة re.sub(pattern, repl, string, count=0, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. يمكن للنمط أن يكون سلسلة نصية أو كائن نمط pattern object. repl يمكن للبديل repl أن يكون سلسلة نصية أو دالة، وإن كان سلسلة نصية، فإنّ الدالة تعالج جميع المحارف المهرّبة فيها. بمعنى أنّ ‎\n تحوّل إلى محرف سطر ...

الصنف ‎‎Regex‎ في Kotlin

يمثل الصنف Regex تعبيرًا نمطيا قابلًا للتعديل (immutable regular expression). إن أردت الاطلاع على المزيد من المعلومات المتعلقة بصياغة النمط (pattern)، انتقل إلى صفحة الصنف Pattern. actual class Regex : Serializable الدوال البانية <init> تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الخاصيات options تمثل هذه الخاصية مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعي معها. pattern تمثل هذه الخاصية النمط الأولي الذي استُخدم في إنشاء التعبير النمطي الذي استُدعي معها. الدوال containsMatchIn ...

الصنف ‎‎Regex‎ في Kotlin

يمثل الصنف Regex تعبيرًا نمطيا قابلًا للتعديل (immutable regular expression). إن أردت الاطلاع على المزيد من المعلومات المتعلقة بصياغة النمط (pattern)، انتقل إلى صفحة الصنف Pattern. actual class Regex : Serializable الدوال البانية <init> تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الخاصيات options تمثل هذه الخاصية مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعي معها. pattern تمثل هذه الخاصية النمط الأولي الذي استُخدم في إنشاء التعبير النمطي الذي استُدعي معها. الدوال containsMatchIn ...

التابع regex.search()‎ في بايثون‎

يفحص هذا التابع السلسلة النصية المعطاة بحثًا عن أول موقع يحصل فيه تطابق مع التعبير النمطي المصرّف، ويعيد كائن التطابق المقابل. البنية العامة regex.search(string[, pos[, endpos]]) المعاملات string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. pos يحدّد هذا المعامل الاختياري الموقع الذي يبدأ منه التابع البحث في السلسلة النصية، ويأخذ القيمة الافتراضية 0. إن تحديد موقع بدء عملية البحث ليس مطابقًا تمامًا لعملية تقطيع السلسلة النصية، فالمحرف '^' يطابق في بداية السلسلة النصية وفي المواقع التي تأتي بعد ...

تبسيط التعابير الشرطية (Simplifying Conditional Expressions)

تزداد البنية المنطقية للشروط تعقيدًا مع مرور الوقت، لذا هنالك الكثير من التقنيات لمواجهة هذا التعقيد وتبسيطه وهي: تجزئة الشَرطيات (Decompose Conditional) المشكلة: يوجد شَرط مُعقد (if-then/else أو switch). الحل: فصل الأجزاء المعقدة من الشَرط إلى توابع منفصلة: الشرط، و then و else. توحيد التعبير الشرطي (Consolidate Conditional Expression) المشكلة: وجود عدة شروط تؤدي إلى نفس النتيجة أو الإجراء. الحل: توحيد جميع هذه الشروط في تعبير وحيد. توحيد الأجزاء الشرطية المكررة (Consolidate Duplicate Conditional Fragments) المشكلة: شيفرة برمجية متطابقة موجودة في جميع فروع الشَرطيات. الحل: ...

التابع regex.fullmatch()‎ في بايثون‎

يتحقّق هذا التابع من تطابق التعبير النمطي المصرّف مع السلسلة النصية المعطاة كاملة، ويعيد كائن التطابق المقابل. البنية العامة regex.fullmatch(string[, pos[, endpos]]) المعاملات string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. pos يحدّد هذا المعامل الاختياري الموقع الذي يبدأ منه التابع البحث في السلسلة النصية، ويأخذ القيمة الافتراضية 0. إن تحديد موقع بدء عملية البحث ليس مطابقًا تمامًا لعملية تقطيع السلسلة النصية، فالمحرف '^' يطابق في بداية السلسلة النصية وفي المواقع التي تأتي بعد محرف السطر الجديد، ولكن ...

الدالة regex.findall()‎ في بايثون‎

يعيد التابع جميع حالات التطابق غير المتداخلة للنمط المصرّف والمطبّق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية. البنية العامة regex.findall(string[, pos[, endpos]]) المعاملات string السلسلة النصية التي سيبحث فيها التابع عن حالات التطابق. pos يحدّد هذا المعامل الاختياري الموقع الذي يبدأ منه التابع البحث في السلسلة النصية، ويأخذ القيمة الافتراضية 0. إن تحديد موقع بدء عملية البحث ليس مطابقًا تمامًا لعملية تقطيع السلسلة النصية، فالمحرف '^' يطابق في بداية السلسلة النصية وفي المواقع التي تأتي بعد محرف ...

المعامل ===‎ الخاص بالصنف Regexp في روبي

يعد المعامل === معامل تساوي الحالة (Case Equality)، إذ يتحقق من تطابق تعبير نمطي مع سلسلة نصية. ويُستخدم أيضًا في العبارات case. وضع تعبير نمطي حرفي (regular expression literal) عقِب المعامل === يسمح لك بمقارنته مع سلسلة نصية. البنية العامة rxp === str→ true or false‎ القيمة المعادة تعاد القيمة true إن تطابق التعبير النمطي rxp مع السلسلة النصية أو تعاد القيمة false خلاف ذلك. أمثلة مثال على استخدام المعامل ===‎: a = "HELLO" case a when /\A[a-z]*\z/; print "Lower case\n" when /\A[A-Z]*\z/; ...

الدالة explode()‎ في PHP

(PHP 4, PHP 5, PHP 7) تقسم الدالة explode()‎ سلسلةً نصيةً إلى أقسام وتعيدها على شكل مصفوفة. الوصف array explode ( string $delimiter , string $string [, int $limit = PHP_INT_MAX ]) تُعيد الدالة ‎explode()‎ مصفوفةً من السلاسل النصية، كل سلسة نصية هي تجزئة للسلسلة النصية الكلية (المُدخَلة) string، وذلك عبر تقسيمها عند محدد السلسلة delimiter. المعاملات delimiter محدد السلسلة، وهو المحرف الذي ستُقسَّم السلسلة النصية عنده. string السلسلة النصية المُدخَلة المُرَاد تجزئتها. limit إذا كانت قيمة المعامل ‎limit موجبةً، فإن ...

الدالة strpbrk()‎ في PHP

(PHP 4, PHP 5, PHP 7) تبحث الدالة strpbrk()‎ على مجموعة معيَّنة من المحارف ضمن سلسلة نصيَّة. الوصف string strpbrk ( string $haystack , string $char_list ) تبحث هذه الدالة على مجموعة المحارف char_list ضمن السلسلة النصيَّة haystack. المعاملات haystack السلسلة النصيَّة التي ستبحث الدالة فيها على المحارف char_list. char_list مجموعة المحارف التي ستبحث الدالة عنها، وهي حسَّاسة لحالة الأحرف. القيم المعادة تُعاد سلسلة نصيَّة بدايتها هي المحارف التي تبحث الدالة عنها. إن لم يُعثَر على تلك المحارف فستعُاد القيمة FALSE. ...

الدالة strpbrk()‎ في PHP

(PHP 4, PHP 5, PHP 7) تبحث الدالة strpbrk()‎ على مجموعة معيَّنة من المحارف ضمن سلسلة نصيَّة. الوصف string strpbrk ( string $haystack , string $char_list ) تبحث هذه الدالة على مجموعة المحارف char_list ضمن السلسلة النصيَّة haystack. المعاملات haystack السلسلة النصيَّة التي ستبحث الدالة فيها على المحارف char_list. char_list مجموعة المحارف التي ستبحث الدالة عنها، وهي حسَّاسة لحالة الأحرف. القيم المعادة تُعاد سلسلة نصيَّة بدايتها هي المحارف التي تبحث الدالة عنها. إن لم يُعثَر على تلك المحارف فستعُاد القيمة FALSE. ...

التابع regex.match()‎ في بايثون‎

يفحص هذا التابع بداية السلسلة النصية المعطاة بحثًا عن حالة تطابق مع التعبير النمطي المصرّف، ويعيد كائن التطابق المقابل. البنية العامة regex.match(string[, pos[, endpos]]) المعاملات string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. pos يحدّد هذا المعامل الاختياري الموقع الذي يبدأ منه التابع البحث في السلسلة النصية، ويأخذ القيمة الافتراضية 0. إن تحديد موقع بدء عملية البحث ليس مطابقًا تمامًا لعملية تقطيع السلسلة النصية، فالمحرف '^' يطابق في بداية السلسلة النصية وفي المواقع التي تأتي بعد محرف السطر ...

التعابير النمطية في Bash

يلقي هذا الباب الضوء على المزايا المُضمَّنة في Bash لمطابقة الأنماط (patterns) والتعرف على فئات المحارف ومداها. إضافة إلى تفصيل للتعابير النمطية (Regular Expressions)، إذ هي أدوات قوية لاختيار أسطر بعينها من ملفات أو من مُخرج ما، وتستخدمها أوامر كثيرة في يونكس مثل vim و perl وقاعدة بيانات PotgreSQL وغيرها، كما يمكن إضافتها في أي لغة أو تطبيق باستخدام مكتبات خارجية، بل قد تجدها في أنظمة غير أنظمة يونكس، إذ يستخدمها برنامج Excel للجداول الذي يأتي في حزمة مكتب ويندوز. ...

التابع regex.finditer()‎ في بايثون‎

يعيد التابع كائنًا قابلًا للتكرار iterator ينتج عنه كائنات match لجميع حالات التطابق غير المتداخلة والناتجة من تطبيق التعبير النمطي المصرّف على السلسلة النصية المعطاة. البنية العامة regex.finditer(string[, pos[, endpos]]) المعاملات string السلسلة النصية التي سيبحث فيها التابع عن حالات التطابق. pos يحدّد هذا المعامل الاختياري الموقع الذي يبدأ منه التابع البحث في السلسلة النصية، ويأخذ القيمة الافتراضية 0. إن تحديد موقع بدء عملية البحث ليس مطابقًا تمامًا لعملية تقطيع السلسلة النصية، فالمحرف '^' يطابق في بداية السلسلة النصية وفي ...

if في بايثون

تقدّم بايثون عبارة if للتحكم المشروط بتدفق الشيفرة، وتأخذ الصيغة التالية: if expression: statement فعلى سبيل المثال: >>> x = int(input("Please enter an integer: ")) Please enter an integer: -16 >>> if x < 0: ...     x = 0 ...     print('Negative changed to zero') Negative changed to zero عبارة elif يمكن استخدام عبارة elif (وهي اختصار لعبارة 'else if' ) عند الحاجة إلى التحقق من شروط إضافية، وكما هو موضح في المثال التالي: >>> x = int(input("Please enter an integer: ")) Please ...

if في بايثون

تقدّم بايثون عبارة if للتحكم المشروط بتدفق الشيفرة، وتأخذ الصيغة التالية: if expression: statement فعلى سبيل المثال: >>> x = int(input("Please enter an integer: ")) Please enter an integer: -16 >>> if x < 0: ...     x = 0 ...     print('Negative changed to zero') Negative changed to zero عبارة elif يمكن استخدام عبارة elif (وهي اختصار لعبارة 'else if' ) عند الحاجة إلى التحقق من شروط إضافية، وكما هو موضح في المثال التالي: >>> x = int(input("Please enter an integer: ")) Please ...

الدالة chunk_split‎()‎ في PHP

(PHP 4, PHP 5, PHP 7) تُقَسِم الدالة chunk_split()‎ سلسلةً نصيةً لكتلٍ أصغر. الوصف string chunk_split ( string $body [, int $chunklen = 76 [, string $end = "\r\n" ]] ) يمكن استخدام الدالة ‎chunk_split()‎ لتقسيم سلسلة نصية لكتلٍ صغيرة. الذي يمكن استخدامه مثلًا لتحويل مخرجات الدالة  base64_encode()‎ للتوافق مع التمثيل RFC 2045. ستُدرج قيمة المعامل end لكل عدد chunklen من المحارف. المعاملات body السلسلة النصية  المُراد تقسيمها. chunklen طول الكتلة. end السلسلة النصية التي ستُدرَج في النهاية. القيم المعادة تُعيد الدالة chunk_split()‎ السلسلة النصية المجزأة. أمثلة المثال 1: مثال عن استعمال الدالة chunk_split()‎ ...

الخاصية Regex.pattern في Kotlin

تمثل الخاصية Regex.pattern النمط الذي استعمل في إنشاء التعبير النمطي الذي استُدعي معها. البنية العامة actual val pattern: String القيمة المعادة تعاد سلسلة نصية تمثل النمط الذي استعمل في إنشاء التعبير النمطي المعطى. أمثلة استعمال الخاصية Regex.pattern مع تعبير نمطي لمعرفة النمط الأولي الذي استعمل في إنشائه -باستعمال الدالة Regex()‎-: fun main(args: Array<String>) { val reg = Regex("""-?\d+(\.\d+)?""") print(reg.pattern ) // -?\d+(\.\d+)? } انظر أيضًا الخاصية Regex.options: تمثل مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير ...

التابع Regexp.union‎ في روبي

يُعيد التابع union كائنًا من النوع Regexp، والذي يمثل اتحاد الأنماط المعطاة؛ أي أنه سيتطابق مع أي من تلك الأجزاء. يمكن أن تكون الأنماط المعطاة كائنات من النوع Regexp، وفي هذه الحالة سيتم الاحتفاظ بخياراتها، أو يمكن أن تكون سلاسل نصية. إذا لم يتم إعطاء أية أنماط، فسيعيد التابع union القيمة /(‎?!‎)/. السلوك سيكون غير محدد إذا احتوى أيُّ من الأنماط المعطاة على التقاط (capture). ملاحظة: ستحاول روبي تحويل المعاملات المُمررة للتابع union إلى تعبيرات نمطية حرفية ( regular expression literal) عبر التابع ...

الخاصية Regex.options في Kotlin

تمثل الخاصية Regex.options مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعي معها. البنية العامة actual val options: Set<RegexOption> القيمة المعادة تعاد مجموعةٌ تحوي جميع الخيارات التي استعملت في ضبط التعبير النمطي المعطى أثناء إنشائه. أمثلة استعمال الخاصية options مع تعبير نمطي لمعرفة الخيارات التي استعملت في ضبطه عند إنشائه -باستعمال الدالة Regex()‎-: fun main(args: Array<String>) { val reg = Regex("""-?\d+(\.\d+)?""", RegexOption.UNIX_LINES) print(reg.options) // [UNIX_LINES] } انظر أيضًا الخاصية Regex.pattern: تمثل النمط الأولي الذي ...

الدالة implode()‎ في PHP

(PHP 4, PHP 5, PHP 7) تَجَمِع الدالة ‎implode()‎ عناصر مصفوفة لتشكِّل سلسلةً نصيةً. الوصف ‎string implode ( string $glue , array $pieces ) ‎string implode ( array $pieces ) تَجَمِع الدالة ‎implode()‎ عناصر المصفوفة لِتُشكِّل سلسلة نصية باستعمال المعامل glue. ملاحظة: تقبل الدالة implode()‎ المعاملات في أي ترتيب كانت (لأسباب تاريخية). لكن ومن أجل موافقة الدالة ‎explode()‎ يُرجى إدراج المعاملات حسب الترتيب المُدرج هنا في التوثيق. المعاملات ‎glue تُحَدد افتراضيًا بسلسلة نصية فارغة. ‎pieces مصفوفة البيانات التي نُشَكِل منها السلسلة النصية. ...

تعابير lambda في بايثون

يمكن إنشاء دوال لا تحمل أسماء باستخدام الكلمة المفتاحية lambda، وتأخذ هذه الدوال الصيغة التالية: lambda arguments: expression تسلك هذه الصيغة المختصرة سلوك دالة معرفة بالطريقة التالية: def <lambda>(arguments): return expression على سبيل المثال، تعيد الدالة التالية مجموع الوسيطين الخاصين بها: lambda a, b: a+b يمكن استخدام دوال lambda عند الحاجة إلى كائنات الدالة (function objects)، وتأخذ هذه الدوال تعبيرًا واحدًا فقط، وهي تعدّ صيغةً مختصرةً للطريقة الاعتيادية في تعريف الدوال. كما هو الحال مع تعريفات الدوال المتداخلة، يمكن لدوال ...

تعابير lambda في بايثون

يمكن إنشاء دوال لا تحمل أسماء باستخدام الكلمة المفتاحية lambda، وتأخذ هذه الدوال الصيغة التالية: lambda arguments: expression تسلك هذه الصيغة المختصرة سلوك دالة معرفة بالطريقة التالية: def <lambda>(arguments): return expression على سبيل المثال، تعيد الدالة التالية مجموع الوسيطين الخاصين بها: lambda a, b: a+b يمكن استخدام دوال lambda عند الحاجة إلى كائنات الدالة (function objects)، وتأخذ هذه الدوال تعبيرًا واحدًا فقط، وهي تعدّ صيغةً مختصرةً للطريقة الاعتيادية في تعريف الدوال. كما هو الحال مع تعريفات الدوال المتداخلة، يمكن لدوال ...

Symbol.match

الرمز المعروف Symbol.match يُحدِّد إذا كان تعبيرٌ نمطيٌ (regular expression) يُطابِق سلسلةً نصيةً؛ وهذه الدالة تُستخدَم من الدالة String.prototype.match()‎. سمات الخاصية Symbol.match قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط لا الوصف تُستخدَم هذه الدالة أيضًا لمعرفة إن كان بالإمكان أن تسلك الكائنات سلوك التعابير النمطية؛ فمثلًا الدوال String.prototype.startsWith()‎ و String.prototype.endsWith()‎ و String.prototype.includes()‎ تتحقق إن كان أوّل وسيط هو تعبيرٌ نمطي وسترمي الاستثناء TypeError إذا لم يكن كذلك. إذا ضبطنا الرمز match إلى false فذلك سيُشير إلى أنَّه من غير ...

عرض (50 السابقة | 50 التالية) (20 | 50 | 100 | 250 | 500).