التابع last_match
الخاص بالصنف Regexp
في روبي
يُعيد التابع last_match
في الشكل الأول (انظر فقرة البنية العامة) كائن MatchData
الذي تم إنشاؤه من آخر تطابق ناجح للنمط. وهو مكافئ لقراءة المتغير العام المخصوص $~
(راجع المتغيرات العامة المخصوصة في صفحة Regexp
لمزيد من التفاصيل).
في الشكل الثاني، يعيد التابع last_match
الحقل رقم n في الكائن MatchData
. يمكن أن يكون n عبارة عن سلسلة نصية أو رمز للإشارة إلى الالتقاط المسمى (named capture).
لاحظ أن ::last_match
هو متغير محلي في مدى التابع أو المهمة الفرعية (thread) للتابع الذي أنجز النمط.
البنية العامة
last_match → matchdata
last_match(n) → str
المعاملات
n
عدد صحيح
القيمة المُعادة
أمثلة
مثال على استخدام التابع last_match
:
/c(.)t/ =~ 'cat' #=> 0
Regexp.last_match #=> #<MatchData "cat" 1:"a">
Regexp.last_match(0) #=> "cat"
Regexp.last_match(1) #=> "a"
Regexp.last_match(2) #=> nil
/(?<lhs>\w+)\s*=\s*(?<rhs>\w+)/ =~ "var = val"
Regexp.last_match #=> #<MatchData "var = val" lhs:"var" rhs:"val">
Regexp.last_match(:lhs) #=> "var"
Regexp.last_match(:rhs) #=> "val"
انظر أيضا
- التابع
escape
: يُخلّص (Escapes) أي حرف يمكن أن يكون له معنى خاص في التعبير النمطي. ثم يعيد سلسلة نصية جديدة مُخلّصة، أو يعيد الكائن (self) في حال عدم تخليص أي أحرف. لكل سلسلة نصية str، ستكون قيمةRegexp.new(Regexp.escape( str ))=~ str
مساوية للقيمة true. - التابع
new
: ينشئ تعبيرًا نمطيًا جديدًا منpattern
، والذي يمكن أن يكون إما سلسلة نصية (String
) أو كائنًا من النوعRegexp
(وفي هذه الحالة يتم نشر خيارات التعبير النمطي)، وقد لا يتم تحديد خيارات جديدة (منذ روبي 1.8).