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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.matches()‎</code> في لغة Kotlin}}</noinclude> إن كانت جميع حروف الوسيط الممرّر <co...'
 
طلا ملخص تعديل
 
(5 مراجعات متوسطة بواسطة 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> تعيد نسخة من الصنف [[Kotlin/kotlin.text/MatchResult/index|<code>MatchResult</code>]] تحتوي الكائن المُمرّر نفسه، وإلا فستعيد القيمة المعدومة <code>null</code>.
تتحقق الدالة <code>matches()‎</code> من مطابقة جميع محارف [[Kotlin/CharSequence|السلسلة]] الممررة إليها مع [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استدعي معها.  
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
actual fun matchEntire(input: CharSequence): MatchResult?
infix actual fun matches(input: CharSequence): Boolean


</syntaxhighlight>
</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>[[Kotlin/Sequence|Sequence]]<[[Kotlin/kotlin.text/MatchResult/index|MatchResult]]>‎</code> أو <code>null</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.matchEntire("ab12cd34ef")?.value) // => null
 
println(reg.matchEntire("4564646")?.value) // => 4564646
     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/find-all.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
}

انظر أيضًا

مصادر