الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/Regex/findAll»
لا ملخص تعديل |
لا ملخص تعديل |
||
| سطر 12: | سطر 12: | ||
==أمثلة== | ==أمثلة== | ||
===استخدام التابع <code>findAll()</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/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 = Regex("""-?\d+(\.\d+)?""") // يطابق هذا التعبير النمطي التعابير العددية، مثل: 45 | val reg = Regex("""-?\d+(\.\d+)?""") // يطابق هذا التعبير النمطي التعابير العددية، مثل: 45 | ||
| سطر 28: | سطر 28: | ||
</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/pattern|pattern]]:</code> تعيد السلسلة النصية النمطية (pattern string) التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره. | * الخاصية <code>[[Kotlin/kotlin.text/Regex/pattern|pattern]]:</code> تعيد السلسلة النصية النمطية (pattern string) التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره. | ||
| سطر 33: | سطر 35: | ||
==مصادر== | ==مصادر== | ||
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/ | * [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/match-entire.html الدالة Regex.findAll() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Methods]] | [[تصنيف:Kotlin Methods]] | ||
مراجعة 17:47، 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
}
أنظر أيضًا
matchEntire():إن كانت جميع حروف الوسيط الممرّرinputتطابق التعبير النمطي الذي استُدعيت عبره، فإن الدالةmatchEntire()تعيد نسخة من الصنفMatchResultتحتوي الكائن المُمرّر نفسه، وإلا فستعيد القيمة المعدومةnull.
- الخاصية
pattern:تعيد السلسلة النصية النمطية (pattern string) التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
- الخاصية
options:تعبر عن مجموعة الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.