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

من موسوعة حسوب
مراجعة 07:37، 22 أغسطس 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - '==القيمة المُعادة==' ب'==القيمة المعادة==')

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

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

abstract fun next(): MatchResult?

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

كائنًا من النوع MatchResult.

أمثلة

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

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

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
}

أنظر أيضًا

  • الخاصية MatchResult.destructured‎: تعيد نسخة من الصنف MatchResult.Destructured، والتي توفّر مركبات لتفكيك قيم المجموعة المُطابقة. المركبة الأولى تقابل قيمة المجموعة المُطابقَة الأولى، والمركبة الثانية تقابل الثانية، وهكذا دواليك.
  • الخاصية MatchResult.groupValues: تعيد لائحة تضم مجموعة المُطابقات  للتعبير النمطي. حجم تلك اللائحة يساوي groupCount + 1،حيثgroupCount هو عدد المجموعات المطابَقة في  التعبير النمطي. تلك المجموعات مُفهرسة من 1 حتى groupCount، والمجموعة ذات الفهرس0 توافق المطابقة الكلية.
  • الخاصية MatchResult.groups: تعيد الخاصية groups كائنًا من النوع MatchGroupCollection يضم مجموعة المُطابقات الموجودة فيالتعبير النمطي. حجم تلك المجموعة يساوي groupCount + 1، حيثgroupCount هو عدد المجموعات المطابَقة في  التعبير النمطي. تلك المجموعات مُفهرسة من 1 حتى groupCount، والمجموعة ذات الفهرس 0 توافق المطابقة الكلية.

مصادر