التابع match الخاص بالصنف Regexp في روبي
يُعيد التابع match كائنًا من النوع MatchData يصف المطابقة، أو يعيد nil إذا لم يكن هناك تطابق. هذا يُكافئ استرداد قيمة المتغير الخاص $~ بعد مطابقة عادية. في حال تمرير الوسيط الثاني،، فسيحدد موضع البدء في السلسلة النصية.
/(.)(.)(.)/.match("abc")[2] #=> "b"
/(.)(.)/.match("abc", 1)[2] #=> "c"
في حال تمرير كتلة، قسيستدعي الكتلة باستخدام MatchData إذا نجحت المطابقة، وهكذا يمكنك كتابة:
/M(.*)/.match("Matz") do |m|
puts m[0]
puts m[1]
end
بدلًا من:
if m = /M(.*)/.match("Matz")
puts m[0]
puts m[1]
end
في هذه الحالة، القيمة المعادة هي القيمة الناتجة عن تنفيذ الكتلة.
البنية العامة
match(str) → matchdata or nil
match(str,pos)→ matchdata or nil
المعاملات
str
سلسلة نصية.
pos
موضع البدء.
القيمة المُعادة
يُعيد التابع match كائنًا من النوع MatchData يصف المطابقة، أو يعيد nil إذا لم يكن هناك تطابق.
أمثلة
مثال على استخدام التابع match:
/(.)(.)(.)/.match("abc")[2] #=> "b"
/(.)(.)/.match("abc", 1)[2] #=> "c"
انظر أيضا
- التابع
match?: يُعيد القيمةtrueأوfalseبحسب ما إذا كان التعبير النمطي قد طوبِق أم لا.