Podstawy wyrażeń regularnych
Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 46 z 59.
Wyrażenia regularne (regex) to wzorce używane do wyszukiwania i walidowania ciągów znaków. W Javie używamy metody matches(), aby sprawdzić, czy ciąg znaków pasuje do wzorca.
Sprawdź, czy ciąg zawiera tylko cyfry:
String text = "12345";
boolean isMatch = text.matches("[0-9]+");Po wykonaniu powyższego kodu isMatch zawiera:
true
Sprawdź, czy ciąg znaków zawiera wyłącznie litery:
String text = "Hello";
boolean isMatch = text.matches("[a-zA-Z]+");Po wykonaniu powyższego kodu isMatch zawiera:
true
Wyzwanie
ŁatwyUtwórz metodę o nazwie validateInput, która przyjmuje dwa argumenty:
- String (
text) do walidacji - String (
type) określający typ walidacji
Metoda powinna walidować tekst zgodnie z następującymi typami:
- "number": może zawierać tylko cyfry (0-9)
- "word": może zawierać tylko litery (a-z lub A-Z)
- "email": musi zawierać @ i co najmniej jeden znak przed nim
- "phone": musi zawierać dokładnie 10 cyfr
Zwracane komunikaty powinny być następujące:
- Jeśli text ma wartość null: zwróć "Invalid input"
- Jeśli type jest nieprawidłowy: zwróć "Invalid type"
- Jeśli walidacja się powiedzie: zwróć "Valid"
- Jeśli walidacja się nie powiedzie: zwróć "Invalid"
Spróbuj swoich sił
import java.util.Scanner;
public class Main {
public static String validateInput(String text, String type) {
// Napisz tutaj swój kod
}
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));
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ sterowania
1Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DDodawanie i odejmowanie macierzyTablice postrzępioneTablice 3D i większeTypowe wzorce dla tablic 2DPodsumowanie — wszystko o tablicach2HashMap część 1
Czym jest HashMap?Deklarowanie HashMapDostęp do wartościSprawdzanie, czy klucz istniejeModyfikowanie słownikówPodsumowanie — HashMap5HashSet — część 2
Matematyka — suma zbiorów HashSetMatematyka — część wspólna zbiorów HashSetMatematyka — różnica zbiorówMatematyka — różnica symetrycznaPodzbiory i nadzbioryIterowanie po zbiorach8Zaawansowane operacje na ciągach znaków
Podstawy StringBuilderWprowadzenie do StringBufferPodstawy wyrażeń regularnychDopasowywanie wzorców za pomocą RegexTokenizer ciągów znakówZaawansowane formatowanie ciągów znaków3HashMap — część 2
Metody HashMapIterowanie za pomocą keySet()Iterowanie za pomocą entrySet()Zagnieżdżona HashMapPowtórka — zarządzanie magazynemPowtórka — operacje na HashMap6Zaawansowany przepływ sterowania
Instrukcje etykietująceWyrażenie switchDopasowywanie wzorcówKlauzule ochronnePowtórzenie — przepływ sterowania9Projekt — licznik unikalnych słów
Wprowadzanie i przechowywanie tekstuPrzetwarzanie słówPoćwicz samodzielnie: Kompilator Java online