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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

تعيد الخاصية 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 توافق المطابقة الكلية.

مصادر