الفرق بين المراجعتين ل"Kotlin/kotlin.text/Regex/matches"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (استبدال النص - '==القيمة المُعادة==' ب'==القيمة المعادة==')
ط
 
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.matches()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.matches()‎</code> في Kotlin}}</noinclude>
إن كانت جميع حروف الوسيط  الممرّر <code>input</code> تطابق [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استُدعيت عبره،  فإن الدالة<code>matches()‎</code> ستعيد القيمة <code>true</code>، وإلا فستعيد <code>false</code>.  
+
تتحقق الدالة <code>matches()‎</code> من مطابقة جميع محارف [[Kotlin/CharSequence|السلسلة]] الممررة إليها مع [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استدعي معها.  
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
 
infix actual fun matches(input: CharSequence): Boolean  
 
infix actual fun matches(input: CharSequence): Boolean  
  
</syntaxhighlight>يلاحظ وجود الكلمة المفتاحية <code>infix</code> والذي يدل على إمكانية استدعاء الدالة بنمط التدوين الداخلي (Infix notation)، أي من خلال حذف المعامل<code>.</code> والأقواس <code>()</code> المُستخدَمَين في الاستدعاء عادةً (للمزيد من التفاصيل راجع [[Kotlin/functions#.D8.A7.D9.84.D8.AA.D8.AF.D9.88.D9.8A.D9.86 .D8.A7.D9.84.D8.AF.D8.A7.D8.AE.D9.84.D9.8A.D9.91 .28Infix notation.29|توثيق التدوين الداخلي)]].
+
</syntaxhighlight>وجود الكلمة المفتاحية <code>infix</code> يدل على إمكانية استدعاء الدالة بنمط [[Kotlin/functions#.D8.A7.D9.84.D8.AA.D8.AF.D9.88.D9.8A.D9.86 .D8.A7.D9.84.D8.AF.D8.A7.D8.AE.D9.84.D9.8A.D9.91 .28Infix notation.29|التدوين الداخلي]] (Infix notation)؛ أي من خلال حذف المعامل <code>.</code> والأقواس <code>()</code> المُستخدَمَين في الاستدعاء عادةً.
 +
 
 +
== المعاملات ==
 +
 
 +
=== <code>input</code> ===
 +
[[Kotlin/CharSequence|سلسلة من المحارف]] التي يراد أن يُتحقَق من مطابقتها كلِّيًا لتعبير نمطي معين.
  
 
==القيمة المعادة==
 
==القيمة المعادة==
قيمة منطقية.
+
تعاد القيمة <code>true</code> إن تطابقت جميع محارف [[Kotlin/CharSequence|السلسلة]] <code>input</code> مع [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] المعطى.
 
==أمثلة==
 
==أمثلة==
===استخدام التابع <code>matches()‎</code>===
+
استعمال الدالة <code>matches()‎</code> للتحقق من مطابقة [[Kotlin/CharSequence|سلسلتين من المحارف]] مع [[Kotlin/kotlin.text/Regex|التعبير النمطي]] <code>reg</code>:<syntaxhighlight lang="kotlin">
ينشِئ التابع <code>[[Kotlin/kotlin.text/Regex/Init|Regex()]]‎</code> في الشيفرة الآتية <nowiki/>[[Kotlin/kotlin.text/Regex/index|تعبيرًا نمطيًا]] باسم <code>reg</code> لمطابقة التعابير العددية، ثم يستدعي عبره الدالة <code>matches()‎</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+)?""")  
println(reg.matches("ab12cd34ef")) // => false
+
 
println(reg.matches("4564646")) // => true
+
     println(reg.matches("ab12cd34ef")) // => false
 +
    println(reg.matches("4564646")) // => true
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
==أنظر أيضًا==
+
==انظر أيضًا==
* الخاصية <code>[[Kotlin/kotlin.text/Regex/pattern|pattern]]:</code> تعيد السلسلة النصية النمطية (pattern string) التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
+
*الدالة <code>[[Kotlin/kotlin.text/Regex/containsMatchIn|containsMatchIn()‎]]</code>: تتحقق إن كان بإمكان [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استُدعي معها مطابقة محرفٍ واحدٍ على الأقل من [[Kotlin/CharSequence|سلسلة المحارف]] المُمرّرة إليه.
* <code>[[Kotlin/kotlin.text/Regex/findAll|findAll()‎]]:</code> تعيد كل المطابقات [[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]] الذي استُدعيت عبره  في الوسيط المُمرّر <code>input،</code>بداية من الفهرس المحدد بالوسيط <code>startIndex.</code>
+
*الدالة <code>[[Kotlin/kotlin.text/Regex/findAll|findAll()‎]]</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/options|options]]:</code> تعبر عن مجموعة الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
+
*الدالة <code>[[Kotlin/kotlin.text/Regex/Init|Regex()‎]]</code>: تنشئ [[Kotlin/kotlin.text/Regex/index|تعبيرًا نمطيًا]] (regular expression) انطلاقًا من [[Kotlin/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/toString|toString()‎]]</code>: تحول <nowiki/>[[Kotlin/kotlin.text/Regex/index|تعبيرًا نمطيًّا]] إلى سلسلة نصية (أي نمط [<code>[[Kotlin/kotlin.text/java.util.regex.Pattern/index|Pattern]]</code>] ذلك التعبير النمطي).
 
==مصادر==
 
==مصادر==
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/matches.html الدالة  Regex.matches()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/matches.html صفحة الدالة Regex.matches()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Methods]]
+
[[تصنيف:Kotlin Function]]
 +
[[تصنيف:Kotlin Text]]
 +
[[تصنيف:Kotlin Regex]]

المراجعة الحالية بتاريخ 10:46، 4 سبتمبر 2018

تتحقق الدالة matches()‎ من مطابقة جميع محارف السلسلة الممررة إليها مع التعبير النمطي الذي استدعي معها.

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

infix actual fun matches(input: CharSequence): Boolean

وجود الكلمة المفتاحية infix يدل على إمكانية استدعاء الدالة بنمط التدوين الداخلي (Infix notation)؛ أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً.

المعاملات

input

سلسلة من المحارف التي يراد أن يُتحقَق من مطابقتها كلِّيًا لتعبير نمطي معين.

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

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

أمثلة

استعمال الدالة matches()‎ للتحقق من مطابقة سلسلتين من المحارف مع التعبير النمطي reg:

fun main(args: Array<String>) {
    // يطابق التعبير النمطي التالي القيم العددية
    val reg = Regex("""-?\d+(\.\d+)?""") 

    println(reg.matches("ab12cd34ef")) // => false
    println(reg.matches("4564646")) // => true
}

انظر أيضًا

مصادر