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

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

ينشئ التابع 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.

مصادر