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

من موسوعة حسوب
< Kotlin‏ | kotlin.text‏ | MatchResult
مراجعة 07:37، 22 أغسطس 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - '==القيمة المُعادة==' ب'==القيمة المعادة==')
اذهب إلى التنقل اذهب إلى البحث

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

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

abstract val groups: MatchGroupCollection

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

كائن من النوع MatchGroupCollection.

أمثلة

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

في الشيفرة التالية ننشِئ  تعبيرًا نمطيًا باسم regex باستخدام التابع Regex()‎، ثم نعرّف سلسلة نصية باسم str، ثم نستخرج من str مجموعات النتائج عبر استدعاء الدالة matchEntire()‎، ثم نستخدم الخاصية groups لاستخراج مجموعات مجموعة المُطابقات الموجودة في 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)?.groups
print(res)
}

المُخرجات:

[MatchGroup(value=ABcDEFG12345DiFKGLSG938SDsFSd, range=0..28), MatchGroup(value=12345, range=7..11), MatchGroup(value=938, range=20..22)]

أنظر أيضًا

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

مصادر