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

مصادر