الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/MatchResult/range»

من موسوعة حسوب
مراجعة وتدقيق.
طلا ملخص تعديل
 
سطر 20: سطر 20:
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*الدالة <code>[[Kotlin/kotlin.text/MatchResult/next|next()‎]]</code>: تعيد كائنًا من النوع <code>[[Kotlin/kotlin.text/MatchResult/index|MatchResult]]</code> يحوي ناتج المطابقة التالية [[Kotlin/kotlin.text/Regex/index|لتعبير نمطي]] محدد والذي يبدأ عند الفهرس الذي انتهت عنده آخر عملية مطابقة.
*الخاصية <code>[[Kotlin/kotlin.text/MatchResult/destructured|MatchResult.destructured‎]]</code>: تمثل نسخةً من الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured|Destructured]]</code> توفّر مكونات عملية الإسناد بالتفكيك (destructuring assignment) التي تطبق على قيم المجموعة المُطابقة.
*الخاصية <code>[[Kotlin/kotlin.text/MatchResult/destructured|MatchResult.destructured‎]]</code>: تمثل نسخةً من الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured|Destructured]]</code> توفّر مكونات عملية الإسناد بالتفكيك (destructuring assignment) التي تطبق على قيم المجموعة المُطابقة.
*الخاصية <code>[[Kotlin/kotlin.text/MatchResult/groupValues|MatchResult.groupValues]]</code>: تمثل [[Kotlin/collection/List|قائمة]] بقيم المجموعة المفهرسة المتطابقة.
*الخاصية <code>[[Kotlin/kotlin.text/MatchResult/groupValues|MatchResult.groupValues]]</code>: تمثل [[Kotlin/collection/List|قائمة]] بقيم المجموعة المفهرسة المتطابقة.

المراجعة الحالية بتاريخ 07:09، 30 أغسطس 2018

تمثل الخاصية MatchResult.range مجال الفهارس الذي يحدد مكان مُطابقة تعبير نمطي محدد في السلسلة النصية الأصلية.

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

abstract val range: IntRange

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

يعاد مجالٌ من النوع IntRange يمثل الفهارس التي تحدد مكان مُطابقة تعبير نمطي محدد في السلسلة النصية الأصلية.

أمثلة

في الشيفرة التالية، ننشِئ تعبيرًا نمطيًا باسم regex باستخدام التابع Regex()‎، ثم نعرّف سلسلة نصية باسم str، ثم نستخرج منها مجموعات النتائج عبر استدعاء الدالة matchEntire()‎. نستخدم بعدئذٍ الخاصية MatchResult.range لاستخراج الفهارس التي تحدد مكان مُطابقة التعبير النمطي regex في السلسلة النصية str:

fun main(args: Array<String>) {
    val pattern = Regex("[a-zA-Z]+([0-9]+)[a-zA-Z]+([0-9]+)[a-zA-Z]+")
    val str = "ABcDEFG12345DiFKGLSG938SDsFSd"

    val res = pattern.matchEntire(str)?.range

    print(res) // 0..28
}

انظر أيضًا

مصادر