الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/Regex/findAll»
ط استبدال النص - 'Kotlin Methods' ب'Kotlin Function' |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
سطر 29: | سطر 29: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==أنظر أيضًا== | ==أنظر أيضًا== | ||
* <code>[[Kotlin/kotlin.text/Regex/ | * الدالة <code>[[Kotlin/kotlin.text/Regex/find|find()]]</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/replace|replace()]]</code>: تبدل سلسلة النصية معينة مكان كل تطابقات <nowiki/>[[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استدعي معها في <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] المُمرّرة إليها أو <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي تعيدها الدالة الممررة إليها. | ||
* الدالة <code>[[Kotlin/kotlin.text/Regex/split|split()]]</code>: تقتطع المحارف الموجودة بين الأجزاء المتطابقة مع <nowiki/>[[Kotlin/kotlin.text/Regex|التعبير النمطي]] الذي استُدعي معها في <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] الممررة إليها. | |||
==مصادر== | ==مصادر== |
مراجعة 15:06، 30 أغسطس 2018
تبحث الدالة findAll()
عن جميع المحارف المتطابقة مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف الممرَّرة إليها. يمكن البحث في سلسلة المحارف المعطاة بأكملها، أو يمكن بدء عملية البحث عند محرف معين.
البنية العامة
actual fun findAll(
input: CharSequence,
startIndex: Int = 0
): Sequence<MatchResult>
تبحث الدالة findAll()
عن جميع المحارف المتطابقة مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف input
الممررة إليها. يمكن البحث في سلسلة المحارف المعطاة بأكملها، أو يمكن بدء عملية البحث عند المحرف ذي الفهرس startIndex
. يجب ألا تقل قيمة المعامل startIndex
عن القيمة 0، القيمة الافتراضية له، وألا تزيد عن القيمة input.length()
.
القيمة المعادة
تعاد سلسلة تحوي جميع المحارف المتطابقة مع التعبير النمطي المعطى في سلسلة المحارف input
. يجدر بالذكر أن عملية البحث عن المحارف المتطابقة تبدأ من المحرف ذي الفهرس startIndex
.
أمثلة
ينشِئ التابع 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
}
أنظر أيضًا
- الدالة
find()
: تبحث عن أول محرف متطابق مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف الممرَّرة إليها. يمكن البحث في سلسلة المحارف المعطاة بأكملها، أو يمكن بدء عملية البحث عند محرف معين. - الدالة
matchEntire()
: تحاول مطابقة جميع محارف السلسلة الممررة إليها مع التعبير النمطي الذي استدعي معها. - الدالة
replace()
: تبدل سلسلة النصية معينة مكان كل تطابقات التعبير النمطي الذي استدعي معها في سلسلة المحارف المُمرّرة إليها أو سلسلة المحارف التي تعيدها الدالة الممررة إليها. - الدالة
split()
: تقتطع المحارف الموجودة بين الأجزاء المتطابقة مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف الممررة إليها.