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