Wyrażenia regularne w Javie

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Wyrażenia regularne są wzorcami służącymi do wyszukiwania, sprawdzania i przetwarzania tekstu. W Javie obsługuje je przede wszystkim pakiet java.util.regex, a najczęściej używane klasy to Pattern i Matcher.

Pattern.compile()

Metoda Pattern.compile() tworzy obiekt wzorca na podstawie podanego wyrażenia regularnego. Następnie można go użyć do sprawdzania tekstu.

Pattern pattern = Pattern.compile("World$");
Matcher matcher = pattern.matcher("Hello World");
boolean wynik = matcher.find();

W tym przykładzie wzorzec World$ oznacza, że tekst powinien kończyć się słowem World.

Ważne metaznaki

Metaznaki mają specjalne znaczenie w wyrażeniach regularnych:

  • ^ — początek tekstu, np. ^Hello,
  • $ — koniec tekstu, np. World$,
  • . — dowolny pojedynczy znak,
  • | — alternatywa, np. cat|dog,
  • \d — cyfra,
  • \s — biały znak, np. spacja lub tabulator,
  • \b — granica słowa.

Najważniejsze dla egzaminu

Jeżeli pytanie dotyczy dopasowania na końcu tekstu, poprawnym symbolem jest $. Nie należy mylić go z ^, który oznacza początek tekstu.

Przykłady:

Pattern.compile("abc$"); // dopasuje tekst kończący się na abc
Pattern.compile("^abc"); // dopasuje tekst zaczynający się od abc