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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.findAll()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>findAll()‎</code> فهرس أول...'
 
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.findAll()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.findAll()‎</code> في لغة Kotlin}}</noinclude>
تعيد الدالة<code>findAll()‎</code> فهرس أول مطابقة [[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]] الذي استُدعيت عبره  في الوسيط المُمرّر <code>input،</code>بداية من الفهرس المحدد بالوسيط <code>startIndex.</code>
تعيد الدالة<code>findAll()‎</code> كل المطابقات [[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]] الذي استُدعيت عبره  في الوسيط المُمرّر <code>input،</code>بداية من الفهرس المحدد بالوسيط <code>startIndex.</code>
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
actual fun find(
actual fun findAll(
     input: CharSequence,  
     input: CharSequence,  
     startIndex: Int = 0
     startIndex: Int = 0
): MatchResult?
): Sequence<MatchResult>
</syntaxhighlight>
</syntaxhighlight>
==القيمة المُعادة==
==القيمة المُعادة==
عدد صحيح.
كائن من النوع <code>[[Kotlin/Sequence|Sequence]]<[[Kotlin/kotlin.text/MatchResult/index|MatchResult]]>‎</code>.
==أمثلة==
==أمثلة==
===استخدام التابع <code>findAll()‎</code>===
===استخدام التابع <code>findAll()‎</code>===
ينشِئ التابع <code>Regex()‎</code> في الشيفرة الآتية تعبيرًا نمطيًا باسم <code>reg</code> لمطابقة التعابير العددية، ثم يستدعي عبره الدالة <code>findAll()‎</code> ويحيل القيمة المعادة إلى المتغير <code>matchResult</code>، ثم يطبع قيمة الفهرس:<syntaxhighlight lang="kotlin">
ينشِئ التابع <code>[[Kotlin/kotlin.text/Regex/Init|Regex()]]‎</code> في الشيفرة الآتية تعبيرًا نمطيًا باسم <code>reg</code> لمطابقة التعابير العددية، ثم يستدعي عبره الدالة <code>findAll()‎</code> ويحيل القيمة المعادة إلى المتغير <code>matchResults</code>، ثم ينشئ كائن من النوع <code>[[Kotlin/kotlin.text/Appendable/index|Appendable]]</code> عبر الدالة <code>[[Kotlin/kotlin.text/StringBuilder/Init|StringBuilder]]()‎،</code>ثم يطبع قيمة الفهرس بعد تجميع النتائج في الحلقة التكرارية <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val reg = """-?\d+(\.\d+)?""".toRegex()
val reg = Regex("""-?\d+(\.\d+)?""") // يطابق هذا التعبير النمطي التعابير العددية، مثل: 45


val matchResult = reg.find("aff4rb")
val matchResults = reg.findAll("ab12cd34ef")
      
      
print(matchResult?.value) // 4
val result = StringBuilder()
   
for (matchResult in matchResults) {
    result.append(matchResult.value + " ")
}
 
println(result) // => 12 34
}
}
</syntaxhighlight>
</syntaxhighlight>
سطر 27: سطر 33:


==مصادر==
==مصادر==
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/find.html الدالة  Regex.findAll()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/find-all.html الدالة  Regex.findAll()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Methods]]
[[تصنيف:Kotlin Methods]]

مراجعة 17:32، 5 يوليو 2018

تعيد الدالةfindAll()‎ كل المطابقات للتعبير النمطي الذي استُدعيت عبره في الوسيط المُمرّر input،بداية من الفهرس المحدد بالوسيط startIndex.

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

actual fun findAll(
    input: CharSequence, 
    startIndex: Int = 0
): Sequence<MatchResult>

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

كائن من النوع Sequence<MatchResult>‎.

أمثلة

استخدام التابع findAll()‎

ينشِئ التابع Regex() في الشيفرة الآتية تعبيرًا نمطيًا باسم reg لمطابقة التعابير العددية، ثم يستدعي عبره الدالة findAll()‎ ويحيل القيمة المعادة إلى المتغير matchResults، ثم ينشئ كائن من النوع Appendable عبر الدالة StringBuilder()‎،ثم يطبع قيمة الفهرس بعد تجميع النتائج في الحلقة التكرارية for:

fun main(args: Array<String>) {
val reg = Regex("""-?\d+(\.\d+)?""") // يطابق هذا التعبير النمطي التعابير العددية، مثل: 45

val matchResults = reg.findAll("ab12cd34ef")
    
val result = StringBuilder()
    
for (matchResult in matchResults) {
    result.append(matchResult.value + " ")
}

println(result) // => 12 34
}

أنظر أيضًا

  • الخاصية pattern: تعيد السلسلة النصية النمطية (pattern string) التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
  • الخاصية options: تعبر عن مجموعة الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.

مصادر