الفرق بين المراجعتين لصفحة: «Ruby/Regexp/new»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>new</code> الخاص بالصنف <code>Regexp</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...' |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Regexp]] | [[تصنيف: Ruby Regexp]] | ||
ينشئ التابع <code>new</code> تعبيرًا نمطيًا جديدًا من <code>pattern</code>، والذي يمكن أن يكون إما سلسلة نصية (<code>[[Ruby/String|String]]</code>) أو كائنًا من النوع <code>[[Ruby/Regexp|Regexp]]</code> (وفي هذه الحالة يتم نشر خيارات التعبير النمطي)، وقد لا يتم تحديد | ينشئ التابع <code>new</code> تعبيرًا نمطيًا جديدًا من وسيط <code>pattern</code>، والذي يمكن أن يكون إما سلسلة نصية (<code>[[Ruby/String|String]]</code>) أو كائنًا من النوع <code>[[Ruby/Regexp|Regexp]]</code> (وفي هذه الحالة يتم نشر خيارات التعبير النمطي)، وقد لا يتم تحديد الخيارات الجديدة (منذ روبي 1.8). | ||
إن كان الوسيط <code> | |||
إن كان الوسيط <code>options</code> (انظر فقرة البنية العامة) عددًا صحيحًا (<code>[[Ruby/Integer|Integer]]</code>)، فيجب أن يساوي واحدًا أو أكثر من الثوابت <code>[[Ruby/Regexp/EXTENDED|Regexp::EXTENDED]]</code> أو <code>[[Ruby/Regexp/IGNORECASE|Regexp::IGNORECASE]]</code> أو <code>[[Ruby/Regexp/MULTILINE|Regexp::MULTILINE]]</code>، أو كلها. وإلا، إن لم تكن قيمة <code>options</code> مساوية للقيمة <code>nil</code> أو <code>false</code>، فلن يكون التعبير النمطي حساسًا لحالة الأحرف. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">new(string, [options]) → regexp | <syntaxhighlight lang="ruby">new(string, [options]) → regexp | ||
سطر 12: | سطر 13: | ||
==المعاملات== | ==المعاملات== | ||
===<code>string</code>=== | ===<code>string</code>=== | ||
سلسلة نصية. | |||
===<code>options</code>=== | ===<code>options</code>=== | ||
خيارات. | |||
===<code>regexp</code>=== | ===<code>regexp</code>=== | ||
تعبير نمطي. | |||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
يعيد التابع <code>new</code> تعبيرًا نمطيًا جديدًا. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>new</code>: | مثال على استخدام التابع <code>new</code>:<syntaxhighlight lang="ruby">r1 = Regexp.new('^a-z+:\\s+\w+') #=> /^a-z+:\s+\w+/ | ||
<syntaxhighlight lang="ruby">r1 = Regexp.new('^a-z+:\\s+\w+') #=> /^a-z+:\s+\w+/ | |||
r2 = Regexp.new('cat', true) #=> /cat/i | r2 = Regexp.new('cat', true) #=> /cat/i | ||
r3 = Regexp.new(r2) #=> /cat/i | r3 = Regexp.new(r2) #=> /cat/i | ||
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/ | *التابع <code>[[Ruby/Regexp/compile|compile]]</code>: ينشئ تعبيرًا نمطيًا جديدًا. | ||
==مصادر== | ==مصادر== | ||
*[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 في توثيق روبي الرسمي.] |
مراجعة 21:55، 31 أكتوبر 2018
ينشئ التابع 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
تعبيرًا نمطيًا جديدًا.
أمثلة
مثال على استخدام التابع 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
: ينشئ تعبيرًا نمطيًا جديدًا.