التابع Regexp.new‎ في روبي

من موسوعة حسوب
< Ruby‏ | Regexp
مراجعة 05:44، 4 ديسمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

ينشئ التابع new تعبيرًا نمطيًّا جديدًا من النمط المُمرَّر إليه، والذي يمكن أن يكون إما سلسلة نصية أو كائنًا من النوع Regexp (وفي هذه الحالة يتم نشر خيارات التعبير النمطي)؛ وقد لا يتم تحديد الخيارات الجديدة (منذ روبي 1.8).

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

new(string, [options])  regexp
new(regexp) regexp
compile(string, [options]) regexp
compile(regexp)   regexp

المعاملات

string‎

سلسلة نصية.

options‎

الخيارات التي تتحكم بالتعبير النمطي. إن كان المعامل options عددًا صحيحًا، فيجب أن يساوي واحدًا أو أكثر من الثوابت التالية: Regexp::EXTENDED أو Regexp::IGNORECASE أو Regexp::MULTILINE، أو كلها. وإلا، إن لم تكن قيمة options مساوية للقيمة nil أو false، فلن يكون التعبير النمطي حساسًا لحالة الأحرف.

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‎

انظر أيضًا

  • التابع compile: ينشئ تعبيرًا نمطيًّا جديدًا.
  • التابع last_match: يُعيد إن لم يمرَّر إليه أي شيء كائنًا من النوع MatchData الذي تم إنشاؤه من آخر تطابق (match) ناجح للنمط.

مصادر