Menu
Coddy logo textTech

יסודות ביטויים רגולריים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 46 מתוך 59.

ביטויים רגולריים (regex) הם תבניות המשמשות לחיפוש ולאימות מחרוזות. ב-Java, משתמשים בשיטה matches() כדי לבדוק אם מחרוזת תואמת לתבנית.

בדקו אם מחרוזת מכילה ספרות בלבד:

String text = "12345";
boolean isMatch = text.matches("[0-9]+");

לאחר ביצוע הקוד שלמעלה, isMatch מכיל:

true

בדקו אם מחרוזת מכילה אותיות בלבד:

String text = "Hello";
boolean isMatch = text.matches("[a-zA-Z]+");

לאחר הרצת הקוד שלמעלה, isMatch מכיל:

true

challenge icon

אתגר

קל

צרו מתודה בשם validateInput שמקבלת שני ארגומנטים:

  1. מחרוזת (text) לאימות
  2. מחרוזת (type) שמציינת את סוג האימות

המתודה צריכה לאמת את הטקסט בהתאם לסוגים הבאים:

  • "number": חייב להכיל ספרות בלבד (0-9)
  • "word": חייב להכיל אותיות בלבד (a-z או A-Z)
  • "email": חייב להכיל @ ולפחות תו אחד לפניו
  • "phone": חייב להכיל בדיוק 10 ספרות

הודעות ההחזרה צריכות להיות:

  • אם text הוא null: יש להחזיר "Invalid input"
  • אם type אינו תקין: יש להחזיר "Invalid type"
  • אם האימות מצליח: יש להחזיר "Valid"
  • אם האימות נכשל: יש להחזיר "Invalid"

נסו בעצמכם

import java.util.Scanner;

public class Main {
    public static String validateInput(String text, String type) {
        // כתבו כאן את הקוד שלכם
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String text = scanner.nextLine();
        String type = scanner.nextLine();
        
        if (text.equals("null")) text = null;
        System.out.println(validateInput(text, type));
    }
}
quiz iconבחנו את עצמכם

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

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

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