الفرق بين المراجعتين ل"Kotlin/kotlin.text/Regex/findAll"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (استبدال النص - '==القيمة المُعادة==' ب'==القيمة المعادة==')
سطر 8: سطر 8:
 
): Sequence<MatchResult>
 
): Sequence<MatchResult>
 
</syntaxhighlight>
 
</syntaxhighlight>
==القيمة المُعادة==
+
==القيمة المعادة==
 
كائن من النوع <code>[[Kotlin/Sequence|Sequence]]<[[Kotlin/kotlin.text/MatchResult/index|MatchResult]]>‎</code>.
 
كائن من النوع <code>[[Kotlin/Sequence|Sequence]]<[[Kotlin/kotlin.text/MatchResult/index|MatchResult]]>‎</code>.
 
==أمثلة==
 
==أمثلة==

مراجعة 07:37، 22 أغسطس 2018

تعيد الدالةfindAll()‎ كل المطابقات للتعبير النمطي الذي استُدعيت عبره في الوسيط المُمرّر input،بداية من الفهرس المحدد بالوسيط startIndex.

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

actual fun findAll(
    input: CharSequence, 
    startIndex: Int = 0
): Sequence<MatchResult>

القيمة المعادة

كائن من النوع Sequence<MatchResult>‎.

أمثلة

استخدام التابع findAll()‎

ينشِئ التابع Regex() في الشيفرة الآتية تعبيرًا نمطيًا باسم reg لمطابقة التعابير العددية، ثم يستدعي عبره الدالة findAll()‎ ويحيل القيمة المعادة إلى المتغير matchResults، ثم ينشئ كائن من النوع Appendable عبر الدالة StringBuilder()‎،ثم يطبع الناتج بعد تجميع النتائج في الحلقة التكرارية for:

fun main(args: Array<String>) {
val reg = Regex("""-?\d+(\.\d+)?""") // يطابق هذا التعبير النمطي التعابير العددية، مثل: 45

val matchResults = reg.findAll("ab12cd34ef")
    
val result = StringBuilder()
    
for (matchResult in matchResults) {
    result.append(matchResult.value + " ")
}

println(result) // => 12 34
}

أنظر أيضًا

  •  matchEntire()‎: إن كانت جميع حروف الوسيط الممرّر input تطابق التعبير النمطي الذي استُدعيت عبره، فإن الدالةmatchEntire()‎ تعيد نسخة من الصنف MatchResult تحتوي الكائن المُمرّر نفسه، وإلا فستعيد القيمة المعدومة null.
  • الخاصية pattern: تعيد السلسلة النصية النمطية (pattern string) التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
  • الخاصية options: تعبر عن مجموعة الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.

مصادر