التابع match‎ الخاص بالصنف Regexp في روبي

من موسوعة حسوب
< Ruby‏ | Regexp
مراجعة 23:26، 31 أكتوبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>match‎</code> الخاص بالصنف <code>Regexp</code> في روبي}}</noinclude> تصنيف: Ruby تصني...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يُعيد التابع match كائنًا من النوع MatchData يصف المطابقة، أو يعيد nil إذا لم يكن هناك تطابق. هذا يُكافئ استرداد قيمة المتغير الخاص $~ بعد مطابقة عادية. في حال تمرير الوسيط الثاني،، فإنه يحدد الموضع في السلسلة النصية لبدء البحث.

في حال تمرير كتلة، قسيستدعي الكتلة باستخدام MatchData إذا نجحت المطابقة، هكذا يمكنك كتابة:

بدلًا من:

قيمة المعادة هي قيمة ناتجة عن تنفيذ الكتلة في هذه الحالة.

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

match(str)  matchdata or nil
match(str,pos) matchdata or nil

المعاملات

str‎

سلسلة نصية.

pos‎

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

أمثلة

مثال على استخدام التابع match‎:

/(.)(.)(.)/.match("abc")[2]   #=> "b"
/(.)(.)/.match("abc", 1)[2]   #=> "c"‎

انظر أيضا

  • التابع inspect: يعيد نسخة نصية منسقة من التعبير النمطي . قد يكون من المفاجئ أن تعلم أن #inspect ينتج في الواقع نسخة طبيعية من السلسلة النصية أكثر حتى من التابع #to_s.
  • التابع match?‎: يُعيد القيمة true أو false بحسب ما إذا كان التعبير النمطي قد طوبِق أم لا دون تحديث المتغير $~ والمتغيرات الأخرى ذات الصلة. في حال إعطاء الوسيط الثاني، فإنّه يحدد الموضع في السلسلة النصية لبدء البحث.

مصادر