التابع new
الخاص بالصنف Regexp
في روبي
ينشئ التابع new
تعبيرًا نمطيًا جديدًا من pattern
، والذي يمكن أن يكون إما سلسلة نصية (String
) أو كائنًا من النوع Regexp
(وفي هذه الحالة يتم نشر خيارات التعبير النمطي)، وقد لا يتم تحديد خيارات جديدة (منذ روبي 1.8).
إن كان الوسيط options
(انظر فقرة البنية العامة) عددًا صحيحًا (Integer
)، فيجب أن يساوي واحدًا أو أكثر من الثوابت Regexp::EXTENDED
أو Regexp::IGNORECASE
أو Regexp::MULTILINE
أو معًا. وإلا، إن لم تكن قيمة options
مساوية للقيمة nil
أو false
، فسيكون التعبير النمطي غير حساس لحالة الأحرف.
البنية العامة
new(string, [options]) → regexp
new(regexp)→ regexp
compile(string, [options])→ regexp
compile(regexp) → regexp
المعاملات
string
options
regexp
القيمة المُعادة
أمثلة
مثال على استخدام التابع new
:
r1 = Regexp.new('^a-z+:\\s+\w+') #=> /^a-z+:\s+\w+/
r2 = Regexp.new('cat', true) #=> /cat/i
r3 = Regexp.new(r2) #=> /cat/i
r4 = Regexp.new('dog', Regexp::EXTENDED | Regexp::IGNORECASE) #=> /dog/ix
انظر أيضا
- التابع
last_match
: يُعيد في الشكل الأول كائنMatchData
الذي تم إنشاؤه من آخر تطابق ناجح للنمط. وهو مكافئ لقراءة المتغير العام المخصوص$~
(راجع المتغيرات العامة المخصوصة في صفحةRegexp
لمزيد من التفاصيل). - التابع
quote
: يُخلّص (escapes) أي حرف قد يكون له معنى خاص في التعبير النمطي. ثم يُعيد سلسلة نصية جديدة مُخلّصة، أو يعيد الكائن (self) إذا لم يتم تخليص أي أحرف. لكل سلسلة نصية str، ستكون قيمة التعبيرRegexp.new(Regexp.escape( str ))=~ str
مساوية للقيمة true.