Menu
Coddy logo textTech

התאמת דפוסים בטקסט

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Kotlin של Coddy. שיעור 48 מתוך 63.

ביטוי Regex מתאר תבנית טקסט. [A-Z] מתאים לאות ASCII גדולה אחת, [0-9] מתאים לספרה אחת, {2} דורש בדיוק שתי חזרות ו־+ דורש חזרה אחת או יותר. matches בודק את כל הקלט; התאמה של תת־מחרוזת בלבד אינה מספיקה.

בתוך main:

val code = Regex("[A-Z]{2}[0-9]{3}")
println(code.matches("AB123"))

כל הקלט מכיל בדיוק שתי אותיות גדולות ואחריהן שלוש ספרות.

Regex.matches דורש שכל הקלט יתאים לתבנית.

challenge icon

אתגר

בינוני

השלם את validCode עם הפרמטר text: String. החזר האם הטקסט מורכב בדיוק משלוש אותיות ASCII גדולות ואחריהן בדיוק שתי ספרות ASCII, ללא רווחים או תווים אחרים. השתמש ב־Regex.matches.

אלא אם צוין לעיל טווח מחמיר יותר, אוספים מכילים לכל היותר 100 איברים בכל רמה, וארגומנטים שלמים וערכים שלמים באוספים נמצאים בטווח שבין -1000 ל־1000. טקסט שסופק לניתוח עשוי לכלול ייצוגים לא תקינים או מחוץ לטווח, כמתואר.

החזר ערך מסוג Boolean. השאר את קוד הקלט/פלט שסופק. הוא קורא ארגומנטים סקלריים, אחד בכל שורה; רשימה מתחילה במספר האיברים שלה ואחריו איבריה, ומפה מתחילה במספר הרשומות שלה ואחריו כל מפתח וערך. רשימות מקוננות חוזרות על התבנית של מספר איברים ואחריו האיברים עבור כל שורה. ה־main שסופקה מדפיסה את הערך המוחזר ואחריו תו newline אחד. רשימות משתמשות בתבנית הסטנדרטית של Kotlin עם סוגריים מרובעים; אל תדפיס תוויות נוספות.

נסו בעצמכם

fun validCode(text: String): Boolean {
    // כתבו כאן את הפתרון שלכם.
    return false
}
fun main() {
    val text = readLine().orEmpty()
    println(validCode(text))
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: Kotlin אונליין