الخاصية MatchResult.groups في Kotlin
تمثل الخاصية MatchResult.groups مجموعةً (collection) تضم جميع المجموعات (groups) المتطابقة باستعمال تعبير نمطي محدد. حجم تلك المجموعة يساوي groupCount + 1، إذ يكون groupCount عددَ المجموعات (groups) المتطابقة في التعبير النمطي. تلك المجموعات مُفهرسةٌ بدءًا من العدد 1 وحتى groupCount، والمجموعة ذات الفهرس 0 توافق كل ما تطابق.
البنية العامة
abstract val groups: MatchGroupCollection
القيمة المعادة
يعاد كائن من النوع MatchGroupCollection يمثل مجموعة (collection) تضم جميع المجموعات (groups) المتطابقة باستعمال تعبير نمطي محدد.
أمثلة
في الشيفرة التالية، ننشِئ تعبيرًا نمطيًا باسم regex باستخدام التابع Regex()، ثم نعرّف سلسلة نصية باسم str، ثم نستخرج منها مجموعات النتائج عبر استدعاء الدالة matchEntire(). نستخدم بعدئذٍ الخاصية MatchResult.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)]
انظر أيضًا
- الدالة
next(): تعيد كائنًا من النوعMatchResultيحوي ناتج المطابقة التالية لتعبير نمطي محدد والذي يبدأ عند الفهرس الذي انتهت عنده آخر عملية مطابقة. - الخاصية
MatchResult.destructured: تمثل نسخةً من الصنفDestructuredتوفّر مكونات عملية الإسناد بالتفكيك (destructuring assignment) التي تطبق على قيم المجموعة المُطابقة. - الخاصية
MatchResult.groupValues: تمثل قائمة بقيم المجموعة المفهرسة المتطابقة. - الخاصية
MatchResult.range: تمثل مجال الفهارس الذي يحدد مكان مُطابقة تعبير نمطي محدد في السلسلة النصية الأصلية. - الخاصية
MatchResult.value: تمثل السلسلة النصية المُدخلة، أو جزءًا منها، والمُطابقة للتعبير النمطي.