CodeGym/Blog Java/Random-PL/Regex Java – Matcher
John Squirrels
Poziom 41
San Francisco

Regex Java – Matcher

Opublikowano w grupie Random-PL

Co to jest wyrażenie regularne w Javie?

Wyrażenie regularne lub wyrażenie regularne to ciąg znaków tworzący wzorzec. Kiedy szukasz dowolnych danych, możesz użyć tego wyspecjalizowanego wzorca, aby znaleźć pasujące ciągi. Może to być tak prosty jak pojedynczy znak lub może to być bardziej złożony wzór. W Javie masz pakiet wyrażeń regularnych Java, który zawiera klasy umożliwiające używanie wyrażeń regularnych do wyszukiwania wzorców i manipulowania nimi. Ten pakiet jest importowany do Twojego kodu w następujący sposób.
import java.util.regex.*;

Regex Java – Matcher

Klasa Java Matcher zapewnia dopasowywanie wzorców do wyrażeń regularnych.
Ta linia kodu importuje wszystkie klasy dostępne w pakiecie regex. Jeśli chcesz zaimportować tylko klasę Matcher , możesz ją zaimportować, korzystając z poniższego wiersza kodu.
import java.util.regex.Matcher;
Pakiet Java Regex ma trzy klasy:
  1. Klasa wzorca : Aby zdefiniować wzorzec, który należy przeszukać.

  2. Klasa Matcher : Aby dopasować wzorzec w tekście i go znaleźć.

  3. Klasa PatternSyntaxException : Aby wskazać wszelkie błędy składniowe w wyrażeniu regularnym.

Działanie tego jest dość proste. Najpierw tworzysz obiekt Pattern na podstawie wyrażenia regularnego, aby zdefiniować wzorzec. Następnie tworzony jest obiekt Matcher przy użyciu obiektu Pattern . Klasa Matcher posiada wiele metod. Najważniejszą z nich jest metoda match() , która zwraca wartość true , jeśli wyrażenie regularne pasuje do tekstu, w przeciwnym razie zwraca wartość false . Klasa Java Matcher ma wiele innych przydatnych metod zastępowania tekstu w ciągach wejściowych, które wykonują bardziej złożone funkcje niż metody zamiany() w Javie. W Javie istnieją tylko dwie metody zamiany() , podczas gdy klasa Matcher udostępnia wiele funkcji do tego zadania.

Metody klas Java Matcher

Poniżej opisano niektóre metody klasy Java Matcher .
  • boolean match() — zwraca wartość true , jeśli wyrażenie regularne pasuje do wzorca.

  • boolean find() — znajduje następne wyrażenie regularne pasujące do wzorca.

  • boolean find(int start) — znajduje kolejne wyrażenie regularne pasujące do wzorca z podanego początku.

  • int start() — zwraca początkowy indeks dopasowania.

  • int end() — zwraca indeks końcowy zwróconego dopasowania.

  • int groupCount() — zwraca całkowitą liczbę grup w dopasowaniu.

  • String zamieńAll(Zastąpienie ciągu) — zastępuje każdy podciąg dopasowania podanym zamiennikiem.

  • String zamianaFirst(Zastąpienie ciągu) — zastępuje pierwszy podciąg dopasowania podanym zamiennikiem.

Przykład dopasowywania Java

Istnieje wiele przydatnych metod klasy Matcher , jednak przyjrzymy się bliżej konkretnym przykładom metody match() .

Korzystanie z metody match().

Poniżej przedstawiono przykład Java Matcher dla metody match() .
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Example {

	public static void main(String[] args) {

		String regexPattern = "(.*)apple(.*)"; // this regex means that any char sequence can precede or succeed "apple"
		String firstCheck = "Apples";
		String secondCheck = "Apple";
		String thirdCheck = "apple";
		String fourthCheck = "An apple a day keeps the doctor away.";
		String fifthCheck = "green apple, yellow apple, red apple, i love all kinds of apples.";


		Pattern pattern = Pattern.compile(regexPattern);
		Matcher matcher1 = pattern.matcher(firstCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + firstCheck);
		System.out.println("Output for matches(): " + matcher1.matches() + "\n");

		Matcher matcher2 = pattern.matcher(secondCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + secondCheck);
		System.out.println("Output for matches(): " + matcher2.matches() + "\n");

		Matcher matcher3 = pattern.matcher(thirdCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + thirdCheck);
		System.out.println("Output for matches(): " + matcher3.matches() + "\n");

		Matcher matcher4 = pattern.matcher(thirdCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + fourthCheck);
		System.out.println("Output for matches(): " + matcher4.matches() + "\n");

		Matcher matcher5 = pattern.matcher(fifthCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + fifthCheck);
		System.out.println("Output for matches(): " + matcher5.matches() + "\n");
	}
}
Wyjście
Wzorzec to: (.*)jabłko(.*) Tekst do sprawdzenia to: Jabłka Wynik dla dopasowań(): false Wzorzec to: (.*)jabłko(.*) Tekst do sprawdzenia to: Apple Wynik dla dopasowań() : false Wzorzec to: (.*)jabłko(.*) Tekst do sprawdzenia to: jabłko Wynik dla dopasowań(): true Wzorzec to: (.*)jabłko(.*) Tekst do sprawdzenia to: Jabłko dziennie utrzymuje doktora w oddali. Dane wyjściowe dla dopasowań(): true Wzór to: (.*)jabłko(.*) Tekst do sprawdzenia to: zielone jabłko, żółte jabłko, czerwone jabłko, uwielbiam wszystkie rodzaje jabłek. Dane wyjściowe dla dopasowań(): true

Wniosek

Mamy nadzieję, że do końca tego wpisu zapoznałeś się z klasą Java Matcher w Javie. Nauczyłeś się, jak go używać w swoim kodzie. Nauczyłeś się także, jak wywołać metodę match() klasy Matcher . Możesz samodzielnie wypróbować inne metody klasy Matcher , aby lepiej ją zrozumieć. Ćwicz dalej, aby lepiej opanować tę koncepcję. Do tego czasu rozwijaj się i lśnij!
Komentarze
  • Popularne
  • Najnowsze
  • Najstarsze
Musisz się zalogować, aby dodać komentarz
Ta strona nie ma jeszcze żadnych komentarzy