الفرق بين المراجعتين لصفحة: «Ruby/Regexp/3D~»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>=~</code> الخاص بالصنف <code>Regexp</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>=~ | <noinclude>{{DISPLAYTITLE: التابع <code>=~</code> الخاص بالصنف <code>Regexp</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] |
مراجعة 23:06، 31 أكتوبر 2018
يبحث التابع =~
عن تطابق للتعبير النمطي rxp (انظر فقرة البنية العامة) ضمن str.
إذا تم استخدام =~
مع تعبير نمطي حرفي له التقاطات مسماة (named captures)، تتم إحالة السلاسل الملتقطة (أوnil) على متغيرات محلية تحمل نفس أسماء الالتقاطات.
إذا لم تكن هناك مطابقة، يُعطى لتلك المتغيرات القيمة nil.
تنفذ الإحالة في محلل (parser) روبي. يرصد المحلل 'regexp-literal =~ expression' لأجل التعيين. يجب أن يكون regexp حرفيًا بدون تلقيم (interpolation)، وأن يوضع على الجانب الأيسر. لا تُنفّذ عملية التعيين إذا لم يكن التعبير النمطي حرفيًا.
تلقيم التعبير النمطي، #{}
، سيلغي التعيين.
لا يحدث التعيين إن وُضع التعبير النمطي على الجانب الأيمن.
البنية العامة
rxp =~ str → integer or nil
القيمة المُعادة
أمثلة
مثال على استخدام التابع =~
:
/at/ =~ "input data" #=> 7
/ax/ =~ "input data" #=> nil
انظر أيضا
- التابع
===
: معامل تساوي الحالة (Case Equality) - يُستخدم في العبارات case. - التابع
casefold?
: يعيد قيمة راية الحساسية لحالة الأحرف (case-insensitive flag).