الفرق بين المراجعتين لصفحة: «Ruby/Regexp/new»
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Regexp]] | [[تصنيف: Ruby Regexp]] | ||
ينشئ التابع <code>new</code> تعبيرًا | ينشئ التابع <code>new</code> تعبيرًا نمطيًّا جديدًا من النمط المُمرَّر إليه، والذي يمكن أن يكون إما [[Ruby/String|سلسلة نصية]] أو كائنًا من النوع <code>[[Ruby/Regexp|Regexp]]</code> (وفي هذه الحالة يتم نشر خيارات التعبير النمطي)؛ وقد لا يتم تحديد الخيارات الجديدة (منذ روبي 1.8). | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">new(string, [options]) → regexp | <syntaxhighlight lang="ruby">new(string, [options]) → regexp | ||
سطر 14: | سطر 14: | ||
===<code>options</code>=== | ===<code>options</code>=== | ||
الخيارات التي تتحكم بالتعبير | الخيارات التي تتحكم بالتعبير النمطي. إن كان المعامل <code>options</code> [[Ruby/Integer|عددًا صحيحًا]]، فيجب أن يساوي واحدًا أو أكثر من الثوابت التالية: <code>Regexp::EXTENDED</code> أو <code>Regexp::IGNORECASE</code> أو <code>Regexp::MULTILINE</code>، أو كلها. وإلا، إن لم تكن قيمة <code>options</code> مساوية للقيمة <code>nil</code> أو <code>false</code>، فلن يكون التعبير النمطي حساسًا لحالة الأحرف. | ||
===<code>regexp</code>=== | ===<code>regexp</code>=== | ||
تعبير | تعبير نمطي. | ||
==القيمة المعادة== | ==القيمة المعادة== | ||
يعاد تعبيرٌ | يعاد تعبيرٌ نمطيٌ جديد. | ||
==أمثلة== | ==أمثلة== | ||
سطر 28: | سطر 28: | ||
r4 = Regexp.new('dog', Regexp::EXTENDED | Regexp::IGNORECASE) #=> /dog/ix</syntaxhighlight> | r4 = Regexp.new('dog', Regexp::EXTENDED | Regexp::IGNORECASE) #=> /dog/ix</syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
*التابع <code>[[Ruby/Regexp/compile|compile]]</code>: ينشئ تعبيرًا | *التابع <code>[[Ruby/Regexp/compile|compile]]</code>: ينشئ تعبيرًا نمطيًّا جديدًا. | ||
*التابع <code>[[Ruby/Regexp/last match|last_match]]</code>: يُعيد إن لم يمرَّر إليه أي شيء كائنًا من النوع <code>[[Ruby/MatchData|MatchData]]</code> الذي تم إنشاؤه من آخر تطابق (match) ناجح للنمط. | *التابع <code>[[Ruby/Regexp/last match|last_match]]</code>: يُعيد إن لم يمرَّر إليه أي شيء كائنًا من النوع <code>[[Ruby/MatchData|MatchData]]</code> الذي تم إنشاؤه من آخر تطابق (match) ناجح للنمط. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Regexp.html#method-c-new قسم التابع new في الصنف Regexp في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Regexp.html#method-c-new قسم التابع new في الصنف 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) ناجح للنمط.