الخاصية MatchResult.groupValues في لغة Kotlin

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

تعيد الخاصية groupValues لائحة تضم مجموعة المُطابقات  للتعبير النمطي. حجم تلك اللائحة يساوي groupCount + 1، حيثgroupCount هو عدد المجموعات المطابَقة في  التعبير النمطي. تلك المجموعات مُفهرسة من 1 حتى groupCount، والمجموعة ذات الفهرس 0 توافق المطابقة الكلية.

إن كانت المجموعة في  التعبير النمطياختيارية ولم يكن هناك أي تطابق، فإن العنصر المقابل في اللائحة groupValues سيكون هو اللائحة الفارغة.

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

abstract val groupValues: List<String>

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

لائحة تضم مجموعة المُطابقات  للتعبير النمطي.

أمثلة

استخدام الخاصية groupValues

في الشيفرة التالية ننشِئ  تعبيرًا نمطيًا باسم regex باستخدام التابع Regex()‎، ثم نعرّف سلسلة نصية باسم str، ثم نستخرج من str مجموعات النتائج عبر استدعاء الدالةmatchEntire()‎، ثم نستخدم الخاصية groupValues لاستخراج مجموعات النتائج، ثم نطبع الناتج:

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)?.groupValues
print(res)
}

المُخرجات:

[ABcDEFG12345DiFKGLSG938SDsFSd, 12345, 938]

أنظر أيضًا

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

مصادر