יסודות ביטויים רגולריים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-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
אתגר
קלצרו מתודה בשם validateInput שמקבלת שני ארגומנטים:
- מחרוזת (
text) לאימות - מחרוזת (
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));
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםגישה לאיברים במערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםסיכום — מערכים דו־ממדייםחיבור וחיסור מטריצותמערכים מדורגיםמערכים תלת־ממדיים ומעבר להםתבניות נפוצות במערכים דו־ממדייםסיכום — כל מה שצריך לדעת על מערכים5HashSet חלק 2
מתמטיקה - איחוד של HashSetsמתמטיקה - חיתוך של HashSetמתמטיקה - הפרש קבוצותמתמטיקה - הפרש סימטריתת־קבוצות וקבוצות־עלמעבר על קבוצות8פעולות מתקדמות על מחרוזות
יסודות StringBuilderמבוא ל-StringBufferיסודות ביטויים רגולרייםהתאמת תבניות באמצעות RegexStringTokenizerעיצוב מחרוזות מתקדםתרגלו בעצמכם: קומפיילר Java אונליין