Der Greedy-Quantifizierer ist der Standardquantifizierer. Wenn keine Übereinstimmung auftritt, versucht der gierige Quantifizierer, so viel wie möglich aus der Eingabezeichenfolge abzugleichen (die längste Übereinstimmung), und wenn eine Übereinstimmung fehlschlägt, behält er das letzte Zeichen bei und versucht es erneut. Hier ist eine Liste gieriger Quantoren:
Quantifizierer | Beschreibung |
---|---|
re* | Entspricht keinem oder mehr Vorkommen. |
re? | Übereinstimmung mit null oder einem Vorkommen. |
re+ | übereinstimmen mit einem oder mehreren Vorkommnissen. |
re{n} | Entspricht genau n Vorkommen. |
re{n, } | stimmt mit mindestens n Vorkommen überein. |
re{n, m} | passen mindestens n und höchstens m Vorkommen. |
Im folgenden Java-Beispiel versuchen wir, eine oder mehrere Zahlen abzugleichen. Unsere Eingabezeichenfolge ist 45545, obwohl die Werte 4, 45, 455 usw. alle zulässig sind, aber Aufgrund von Wir haben einen gierigen Quantifizierer verwendet, der dem längstmöglichen Wert entspricht.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); String regex = "[0-9]+"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); System.out.println(“”Matched text: ); while (matcher.find()) { System.out.println(matcher.group()); } } }
Enter input text: Matched text: 45545
Das obige ist der detaillierte Inhalt vonAnwendung des gierigen Quantifizierers in regulären Java-Ausdrücken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!