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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.matchEntire()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>matchEntire()‎</code> كل ال...'
 
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.matchEntire()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.matchEntire()‎</code> في لغة Kotlin}}</noinclude>
تعيد الدالة<code>matchEntire()‎</code> كل المطابقات [[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]] الذي استُدعيت عبره في الوسيط المُمرّر <code>input،</code>بداية من الفهرس المحدد بالوسيط <code>startIndex.</code>
إن كانت جميع حروف الوسيط  الممرّر <code>input</code> تطابق [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استُدعيت عبره، فإن الدالة<code>matchEntire()‎</code> تعيد نسخة من الصنف [[Kotlin/kotlin.text/MatchResult/index|<code>MatchResult</code>]] تحتوي الكائن المُمرّر نفسه، وإلا فستعيد القيمة المعدومة <code>null</code>.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
actual fun findAll(
actual fun matchEntire(input: CharSequence): MatchResult?
    input: CharSequence,
 
    startIndex: Int = 0
): Sequence<MatchResult>
</syntaxhighlight>
</syntaxhighlight>
==القيمة المُعادة==
==القيمة المُعادة==
كائن من النوع <code>[[Kotlin/Sequence|Sequence]]<[[Kotlin/kotlin.text/MatchResult/index|MatchResult]]>‎</code>.
كائن من النوع <code>[[Kotlin/Sequence|Sequence]]<[[Kotlin/kotlin.text/MatchResult/index|MatchResult]]>‎</code> أو <code>null</code>.
==أمثلة==
==أمثلة==
===استخدام التابع <code>matchEntire()‎</code>===
===استخدام التابع <code>matchEntire()‎</code>===
ينشِئ التابع <code>[[Kotlin/kotlin.text/Regex/Init|Regex()]]‎</code> في الشيفرة الآتية تعبيرًا نمطيًا باسم <code>reg</code> لمطابقة التعابير العددية، ثم يستدعي عبره الدالة <code>matchEntire()‎</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> في الشيفرة الآتية <nowiki/>[[Kotlin/kotlin.text/Regex/index|تعبيرًا نمطيًا]] باسم <code>reg</code> لمطابقة التعابير العددية، ثم يستدعي عبره الدالة <code>matchEntire()‎</code> لاختبار المطابقة الكلية [[Kotlin/String|لسلسلتين نصيتين]] [[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]] <code>reg،</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
val matchResults = reg.findAll("ab12cd34ef")
      
      
val result = StringBuilder()
println(reg.matchEntire("ab12cd34ef")?.value) // => null
   
println(reg.matchEntire("4564646")?.value) // => 4564646
for (matchResult in matchResults) {
    result.append(matchResult.value + " ")
}
 
println(result) // => 12 34
}
}
</syntaxhighlight>
</syntaxhighlight>
==أنظر أيضًا==
==أنظر أيضًا==
* الخاصية <code>[[Kotlin/kotlin.text/Regex/pattern|pattern]]:</code> تعيد السلسلة النصية النمطية (pattern string) التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
* الخاصية <code>[[Kotlin/kotlin.text/Regex/pattern|pattern]]:</code> تعيد السلسلة النصية النمطية (pattern string) التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
* <code>[[Kotlin/kotlin.text/Regex/findAll| findAll()‎]]:</code> تعيد كل المطابقات [[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]] الذي استُدعيت عبره  في الوسيط المُمرّر <code>input،</code>بداية من الفهرس المحدد بالوسيط <code>startIndex.</code>


* الخاصية <code>[[Kotlin/kotlin.text/Regex/options|options]]:</code> تعبر عن مجموعة الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
* الخاصية <code>[[Kotlin/kotlin.text/Regex/options|options]]:</code> تعبر عن مجموعة الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.

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

إن كانت جميع حروف الوسيط الممرّر input تطابق التعبير النمطي الذي استُدعيت عبره، فإن الدالةmatchEntire()‎ تعيد نسخة من الصنف MatchResult تحتوي الكائن المُمرّر نفسه، وإلا فستعيد القيمة المعدومة null.

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

actual fun matchEntire(input: CharSequence): MatchResult?

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

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

أمثلة

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

ينشِئ التابع Regex() في الشيفرة الآتية تعبيرًا نمطيًا باسم reg لمطابقة التعابير العددية، ثم يستدعي عبره الدالة matchEntire()‎ لاختبار المطابقة الكلية لسلسلتين نصيتين للتعبير النمطي reg، ثم يطبع الناتج:

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

أنظر أيضًا

  • الخاصية pattern: تعيد السلسلة النصية النمطية (pattern string) التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
  •  findAll()‎: تعيد كل المطابقات للتعبير النمطي الذي استُدعيت عبره في الوسيط المُمرّر input،بداية من الفهرس المحدد بالوسيط startIndex.
  • الخاصية options: تعبر عن مجموعة الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.

مصادر