الدالة MatchResult.next()‎ في Kotlin

من موسوعة حسوب

تعيد الدالة next()‎ كائنًا من النوع MatchResult يحوي ناتج المطابقة التالية لتعبير نمطي محدد والذي يبدأ عند الفهرس الذي انتهت عنده آخر عملية مطابقة (أي يبدأ عن المحرف الذي يلي آخر محرف تمت مطابقته).

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

abstract fun next(): MatchResult?

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

يعاد كائنٌ من النوع MatchResult يحوي نتائج المطابقة التالية لتعبير نمطي محدد التي تبدأ من الفهرس الذي انتهت عنده آخر عملية مطابقة.

أمثلة

ينشِئ التابع Regex()‎ في الشيفرة التالية تعبيرًا نمطيًا باسم reg لمطابقة التعابير العددية، ثم يستدعي معه الدالة find()‎ للحصول على مطابقات التعبير النمطي reg في السلسلة النصية المُمرّرة، وإحالة القيمة المعادة (هي 43 في مثالنا هذا) إلى المتغير matchResult. تستعمل بعد ذلك الدالة next()‎ مع المتغير matchResult للحصول على المطابقة التالية:

fun main(args: Array<String>) {
    val reg = Regex("""-?\d+(\.\d+)?""")
    val matchResult = reg.find("xab43cd24y")
    val nextMatchResult = matchResult?.next()

    print(matchResult?.value)        // 43
    print(nextMatchResult?.value)    // 24
}

انظر أيضًا

مصادر