الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/MatchResult/groupValues»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الخاصية <code>MatchResult.groupValues</code> في لغة Kotlin}}</noinclude> الخاصية <code>groupValues</code> تعيد نسخة...'
 
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الخاصية <code>MatchResult.groupValues</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الخاصية <code>MatchResult.groupValues</code> في لغة Kotlin}}</noinclude>
الخاصية <code>groupValues</code> تعيد نسخة من الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured/index|MatchResult.Destructured]]،</code> والتي توفّر مركبات لتفكيك قيم المجموعة المُطابقة. المركبة الأولى تقابل قيمة المجموعة المُطابقَة الأولى، والمركبة الثانية تقابل الثانية، وهكذا دواليك.
تعيد الخاصية <code>groupValues</code> [[Kotlin/List|لائحة]] تضم مجموعة المُطابقات  <nowiki/>[[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]]. حجم تلك [[Kotlin/List|اللائحة]] يساوي <code>groupCount + 1،</code> حيث<code>groupCount</code> هو عدد المجموعات المطابَقة في  <nowiki/>[[Kotlin/kotlin.text/Regex/index|التعبير النمطي]]. تلك المجموعات مُفهرسة من 1 حتى <code>groupCount،</code> والمجموعة ذات الفهرس <code>0</code> توافق المطابقة الكلية.
 
إن كانت المجموعة في  <nowiki/>[[Kotlin/kotlin.text/Regex/index|التعبير النمطي]]<nowiki/>اختيارية ولم يكن هناك أي تطابق، فإن العنصر المقابل في [[Kotlin/List|اللائحة]] <code>groupValues</code> هو [[Kotlin/List|اللائحة]] الفارغة.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
open val destructured: Destructured
abstract val groupValues: List<String>


</syntaxhighlight>
</syntaxhighlight>
==القيمة المُعادة==
==القيمة المُعادة==
نسخة من الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured/index|MatchResult.Destructured]]</code>.
[[Kotlin/List|لائحة]] تضم مجموعة المُطابقات  <nowiki/>[[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]]
==أمثلة==
==أمثلة==
===استخدام الخاصية <code>groupValues</code>===
===استخدام الخاصية <code>groupValues</code>===
ينشِئ التابع <code>Regex()‎</code> في الشيفرة الآتية تعبيرًا نمطيًا باسم <code>regex</code> لتفكيك مسارات الملفات إلى ثلاث مُركّبات: المجلد (<code>directory</code>) واسم الملف (<code>fileName</code>) والامتداد (<code>extension</code>)، ثم نعرّف سلسلة نصية باسم <code>fullPath</code> تحتوي مسار أحد الملفات، ثم نستخرج من <code>fullPath</code>  مجموعات النتائج عبر استدعاء الدالة<code>matchEntire()‎</code>  عبر  <code>regex</code> وتمرير  <code>fullPath</code> إليها كوسيط، ثم نستخدم الخاصية<code>destructured‎</code> لاستخراج مجموعات النتائج، ثم نطبع الناتج:<syntaxhighlight lang="kotlin">
ينشِئ التابع <code>Regex()‎</code> في الشيفرة الآتية تعبيرًا نمطيًا باسم <code>regex</code>، ثم نعرّف سلسلة نصية باسم <code>str</code>، ثم نستخرج من <code>str</code>  مجموعات النتائج عبر استدعاء الدالة<code>matchEntire()‎</code>، ثم نستخدم الخاصية <code>groupValues</code> لاستخراج مجموعات النتائج، ثم نطبع الناتج:<syntaxhighlight lang="kotlin">
package com.kotlination.filename
 
fun main(args: Array<String>) {
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 fullPath = "Kotlination/Kotlin/Practice/getFileNameExample.kt"
val res = pattern.matchEntire(str)?.groupValues
 
print(res)
val regex = """(.+)/(.+)\.(.+)""".toRegex()
val matchResult = regex.matchEntire(fullPath)
 
if (matchResult != null) {
  val (directory, fileName, extension) = matchResult.destructured
  println("dir: $directory | fileName: $fileName | extension: $extension")
  // => dir: Kotlination/Kotlin/Practice | fileName: getFileNameExample | extension: kt
}
 
}
}
</syntaxhighlight>
</syntaxhighlight>
==أنظر أيضًا==
==أنظر أيضًا==
* صفحة الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured/index|Destructured]]</code>.
* صفحة الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured/index|Destructured]]</code>.
* الخاصية <code>MatchResult.destructured‎</code>: الخاصية <code>destructured‎</code> تعيد نسخة من الصنف <code>MatchResult.Destructured،</code> والتي توفّر مركبات لتفكيك قيم المجموعة المُطابقة. المركبة الأولى تقابل قيمة المجموعة المُطابقَة الأولى، والمركبة الثانية تقابل الثانية، وهكذا دواليك.


==مصادر==
==مصادر==
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-match-result/destructured.html الخاصية MatchResult.groupValues‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-match-result/group-values.html الخاصية MatchResult.groupValues‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Property]]
[[تصنيف:Kotlin Property]]

مراجعة 21:53، 6 يوليو 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)
}

أنظر أيضًا

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

مصادر