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
import java.util.regex.Matcher;
Pakiet Java Regex ma trzy klasy:
-
Klasa wzorca : Aby zdefiniować wzorzec, który należy przeszukać.
-
Klasa Matcher : Aby dopasować wzorzec w tekście i go znaleźć.
-
Klasa PatternSyntaxException : Aby wskazać wszelkie błędy składniowe w wyrażeniu regularnym.
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
GO TO FULL VERSION