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

من موسوعة حسوب
ط استبدال النص - '==القيمة المُعادة==' ب'==القيمة المعادة=='
ط إضافة قسم "المعاملات"
 
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 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|التعبير النمطي]] الذي استُدعي معها في [[Kotlin/CharSequence|سلسلة المحارف]] الممرَّرة إليها. يمكن البحث في [[Kotlin/CharSequence|سلسلة المحارف]] المعطاة بأكملها، أو يمكن بدء عملية البحث عند محرف معين.
 
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
سطر 7: سطر 8:
     startIndex: Int = 0
     startIndex: Int = 0
): Sequence<MatchResult>
): Sequence<MatchResult>
</syntaxhighlight>
</syntaxhighlight>تبحث الدالة <code>findAll()‎</code> عن جميع المحارف المتطابقة مع [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استُدعي معها في [[Kotlin/CharSequence|سلسلة المحارف]] <code>input</code> الممررة إليها. يمكن البحث في [[Kotlin/CharSequence|سلسلة المحارف]] المعطاة بأكملها، أو يمكن بدء عملية البحث عند المحرف ذي الفهرس <code>startIndex</code>. يجب ألا تقل قيمة المعامل <code>startIndex</code> عن القيمة 0، القيمة الافتراضية له، وألا تزيد عن القيمة [[Kotlin/CharSequence/length|<code>input.length()‎</code>]].
==المعاملات==
 
=== <code>input</code> ===
[[Kotlin/CharSequence|سلسلة المحارف]] التي يراد جلب جميع محارفها المتطابقة مع [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] المعطى.
 
=== <code>startIndex</code> ===
[[Kotlin/Int|عدد صحيح]] يحدد فهرس المحرف الذي يراد بدء عملية المطابقة عنده. القيمة الافتراضية له هي: 0؛ أي بدء عملية المطابقة عند المحرف الأول.
 
==القيمة المعادة==
==القيمة المعادة==
كائن من النوع <code>[[Kotlin/Sequence|Sequence]]<[[Kotlin/kotlin.text/MatchResult/index|MatchResult]]></code>.
تعاد سلسلة تحوي جميع المحارف المتطابقة مع [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] المعطى في [[Kotlin/CharSequence|سلسلة المحارف]] <code>input</code>. يجدر بالذكر أن عملية البحث عن المحارف المتطابقة تبدأ من المحرف ذي الفهرس <code>startIndex</code>.
==أمثلة==
==أمثلة==
===استخدام التابع <code>findAll()‎</code>===
ينشِئ التابع <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">
ينشِئ التابع <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>) {
سطر 28: سطر 36:
</syntaxhighlight>
</syntaxhighlight>
==أنظر أيضًا==
==أنظر أيضًا==
* <code>[[Kotlin/kotlin.text/Regex/matchEntire| matchEntire()‎]]:</code> إن كانت جميع حروف الوسيط  الممرّر <code>input</code> تطابق [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استُدعيت عبره،  فإن الدالة<code>matchEntire()‎</code> تعيد نسخة من الصنف [[Kotlin/kotlin.text/MatchResult/index|<code>MatchResult</code>]] تحتوي الكائن المُمرّر نفسه، وإلا فستعيد القيمة المعدومة <code>null</code>.
* الدالة <code>[[Kotlin/kotlin.text/Regex/find|find()‎]]</code>: تبحث عن أول محرف متطابق مع [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استُدعي معها في [[Kotlin/CharSequence|سلسلة المحارف]] الممرَّرة إليها. يمكن البحث في [[Kotlin/CharSequence|سلسلة المحارف]] المعطاة بأكملها، أو يمكن بدء عملية البحث عند محرف معين.
 
* الدالة <code>[[Kotlin/kotlin.text/Regex/matchEntire|matchEntire()‎]]</code>: تحاول مطابقة جميع محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] الممررة إليها مع <nowiki/>[[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استدعي معها.
* الخاصية <code>[[Kotlin/kotlin.text/Regex/pattern|pattern]]:</code> تعيد السلسلة النصية النمطية (pattern string) التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
* الدالة <code>[[Kotlin/kotlin.text/Regex/replace|replace()‎]]</code>: تبدل سلسلة النصية معينة مكان كل تطابقات <nowiki/>[[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استدعي معها في <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] المُمرّرة إليها أو <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي تعيدها الدالة الممررة إليها.
 
* الدالة <code>[[Kotlin/kotlin.text/Regex/split|split()‎]]</code>: تقتطع المحارف الموجودة بين الأجزاء المتطابقة مع <nowiki/>[[Kotlin/kotlin.text/Regex|التعبير النمطي]] الذي استُدعي معها في <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] الممررة إليها.
* الخاصية <code>[[Kotlin/kotlin.text/Regex/options|options]]:</code> تعبر عن مجموعة الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.


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

المراجعة الحالية بتاريخ 05:57، 1 سبتمبر 2018

تبحث الدالة findAll()‎ عن جميع المحارف المتطابقة مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف الممرَّرة إليها. يمكن البحث في سلسلة المحارف المعطاة بأكملها، أو يمكن بدء عملية البحث عند محرف معين.

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

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

تبحث الدالة findAll()‎ عن جميع المحارف المتطابقة مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف input الممررة إليها. يمكن البحث في سلسلة المحارف المعطاة بأكملها، أو يمكن بدء عملية البحث عند المحرف ذي الفهرس startIndex. يجب ألا تقل قيمة المعامل startIndex عن القيمة 0، القيمة الافتراضية له، وألا تزيد عن القيمة input.length()‎.

المعاملات

input

سلسلة المحارف التي يراد جلب جميع محارفها المتطابقة مع التعبير النمطي المعطى.

startIndex

عدد صحيح يحدد فهرس المحرف الذي يراد بدء عملية المطابقة عنده. القيمة الافتراضية له هي: 0؛ أي بدء عملية المطابقة عند المحرف الأول.

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

تعاد سلسلة تحوي جميع المحارف المتطابقة مع التعبير النمطي المعطى في سلسلة المحارف input. يجدر بالذكر أن عملية البحث عن المحارف المتطابقة تبدأ من المحرف ذي الفهرس startIndex.

أمثلة

ينشِئ التابع 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
}

أنظر أيضًا

مصادر