Grundlagen regulärer Ausdrücke
Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 46 von 59.
Reguläre Ausdrücke (regex) sind Muster, die verwendet werden, um Zeichenketten zu durchsuchen und zu validieren. In Java verwenden wir die matches()-Methode, um zu überprüfen, ob eine Zeichenkette einem Muster entspricht.
Prüfen, ob ein String nur Ziffern enthält:
String text = "12345";
boolean isMatch = text.matches("[0-9]+");Nach der Ausführung des obigen Codes enthält isMatch:
true
Prüfen, ob ein String nur Buchstaben enthält:
String text = "Hello";
boolean isMatch = text.matches("[a-zA-Z]+");Nach der Ausführung des obigen Codes enthält isMatch:
true
Aufgabe
EinfachErstellen Sie eine Methode namens validateInput, die zwei Argumente annimmt:
- Ein String (
text) zur Validierung - Ein String (
type), der den Validierungstyp angibt
Die Methode sollte den Text basierend auf diesen Typen validieren:
- "number": muss nur Ziffern (0-9) enthalten
- "word": muss nur Buchstaben (a-z oder A-Z) enthalten
- "email": muss @ enthalten und mindestens ein Zeichen davor
- "phone": muss genau 10 Ziffern enthalten
Rückgabemeldungen sollten sein:
- Wenn text null ist: return "Invalid input"
- Wenn type ungültig ist: return "Invalid type"
- Wenn die Validierung erfolgreich ist: return "Valid"
- Wenn die Validierung fehlschlägt: return "Invalid"
Spickzettel
Reguläre Ausdrücke (Regex) sind Muster, die zum Suchen und Validieren von Strings verwendet werden. In Java verwenden Sie die matches()-Methode, um zu überprüfen, ob ein String einem Muster entspricht.
Überprüfen, ob ein String nur Ziffern enthält:
String text = "12345";
boolean isMatch = text.matches("[0-9]+");Überprüfen, ob ein String nur Buchstaben enthält:
String text = "Hello";
boolean isMatch = text.matches("[a-zA-Z]+");Häufige Regex-Muster:
[0-9]+- eine oder mehrere Ziffern[a-zA-Z]+- ein oder mehrere Buchstaben[0-9]{10}- genau 10 Ziffern.+@.+- enthält @ mit mindestens einem Zeichen davor
Probier es selbst
import java.util.Scanner;
public class Main {
public static String validateInput(String text, String type) {
// Schreibe deinen Code hier
}
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));
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen der 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysZusammenfassung - 2D-ArraysMatrixaddition & SubtraktionJagged Arrays3D-Arrays und darüber hinausGängige 2D-Array-MusterZusammenfassung - Alles über Arrays2HashMap Teil 1
Was ist eine HashMap?Eine HashMap deklarierenWerte abrufenPrüfen, ob ein Schlüssel existiertWörterbücher modifizierenZusammenfassung - HashMap5HashSet Teil 2
Mathematik - Vereinigung von HashSetsMathematik - Schnittmenge von HashSetsMathematik - Mengen-DifferenzMathematik - Symmetrische DifferenzUnter- und ObermengenIterieren über Mengen8Fortgeschrittene String-Operationen
StringBuilder-GrundlagenStringBuffer-EinführungGrundlagen regulärer AusdrückeMusterabgleich mit RegexString-TokenizerFortgeschrittene String-Formatierung3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitung