الفرق بين المراجعتين ل"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: تعبر عن مجموعة الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.

مصادر