Inhaltsverzeichnis
Überschrift 2
", "
Heim Java javaLernprogramm Beherrschen Sie die Fähigkeiten des gierigen und nicht gierigen Modus regulärer Java-Ausdrücke

Beherrschen Sie die Fähigkeiten des gierigen und nicht gierigen Modus regulärer Java-Ausdrücke

Dec 26, 2023 pm 02:33 PM
java 正则表达式 gieriges Muster Non-Greedy-Modus

Beherrschen Sie die Fähigkeiten des gierigen und nicht gierigen Modus regulärer Java-Ausdrücke

Syntaxtipps für reguläre Java-Ausdrücke: Greedy-Modus und Non-Greedy-Modus

Bei der Verwendung der regulären Ausdrücke von Java stoßen Sie häufig auf Situationen, in denen Sie so viele Zeichen wie möglich oder so wenige Zeichen wie möglich abgleichen müssen. Dies erfordert die Verwendung des Greedy-Modus und des Non-Greedy-Modus zur Steuerung der Matching-Methode. In diesem Artikel werden diese beiden Modi ausführlich vorgestellt und spezifische Codebeispiele gegeben.

1. Greedy-Modus
Greedy-Modus ist die Standard-Matching-Methode. Im Greedy-Modus gleicht der reguläre Ausdruck so viele Zeichen wie möglich ab, bis die Übereinstimmungsbedingung nicht mehr erfüllt ist.

Zum Beispiel haben wir den folgenden Text:
String text = „abc abc abc“;

Wir möchten das „abc“ in der Mitte abgleichen. Sie können den folgenden Code verwenden:
Pattern pattern = Pattern.compile(".*");
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {

System.out.println(matcher.group());
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}

Die Ausgabe Das Ergebnis ist „abc abc abc“, da „.*“ den Greedy-Modus verwendet und so viele Zeichen wie möglich abdeckt.

2. Nicht-Gier-Modus
Der Nicht-Gier-Modus wird durch Hinzufügen von „?“ nach dem Gier-Modus-Qualifizierer erreicht. Im nicht gierigen Modus stimmt der reguläre Ausdruck mit so wenigen Zeichen wie möglich überein, bis die Übereinstimmungsbedingung erfüllt ist.

Das Folgende ist ein Codebeispiel im Non-Greedy-Modus:
Pattern pattern = Pattern.compile(".*?");
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {

System.out.println(matcher.group());
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}

Das Ausgabeergebnis ist „abc“. Dies liegt daran, dass „.*?“ einen nicht gierigen Modus verwendet und nur mit dem kleinsten Zeichen übereinstimmt, das die Bedingungen erfüllt.

3. Anwendungsszenarien des Greedy-Modus und des Non-Greedy-Modus
1. Anwendungsszenarien des Greedy-Modus: Der Greedy-Modus eignet sich normalerweise für Situationen, in denen es notwendig ist, so viele Zeichen wie möglich zuzuordnen. Wenn wir beispielsweise alle Tags in einem HTML-Dokument abgleichen möchten, kann der standardmäßige Greedy-Modus alle Tags gleichzeitig abgleichen.

String html = "

Überschrift 1

Absatz 1

Überschrift 2

Absatz 2

";

Muster pattern = Pattern.compile("<.*?>");
Matcher matcher = pattern.matcher(html);
while (matcher.find()) {

System.out.println(matcher.group());
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

}

Das Ausgabeergebnis ist „< ;h1>", "", "

", "

", "

", "

", "

", "

".

2. Anwendungsszenarien des Non-Greedy-Modus

Der Non-Greedy-Modus eignet sich normalerweise für Situationen, in denen möglichst wenige Zeichen übereinstimmen müssen. Wenn wir beispielsweise alle Wörter in einem Satz abgleichen möchten, kann der standardmäßige nicht gierige Modus die Wörter einzeln abgleichen.

String-Satz = „Ich liebe Codierung“;

Mustermuster = Pattern.compile("bw+?b");
Matcher matcher = pattern.matcher(satz);
while (matcher.find()) {

System.out.println(matcher.group());
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
}

Die Ausgabeergebnisse sind „I“, „love“ und „coding“.

Zusammenfassend lässt sich sagen, dass der Greedy-Modus und der Non-Greedy-Modus in regulären Java-Ausdrücken sehr nützlich sind. Je nach spezifischem Bedarf kann durch Auswahl des geeigneten Modus eine bessere Übereinstimmung erzielt und die erforderlichen Informationen extrahiert werden. Ich hoffe, dass die Codebeispiele in diesem Artikel den Lesern helfen können, den Greedy-Modus und den Non-Greedy-Modus besser zu verstehen und anzuwenden.

Das obige ist der detaillierte Inhalt vonBeherrschen Sie die Fähigkeiten des gierigen und nicht gierigen Modus regulärer Java-Ausdrücke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Zeitstempel für Datum in Java Zeitstempel für Datum in Java Aug 30, 2024 pm 04:28 PM

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Java -Programm, um das Kapselvolumen zu finden Java -Programm, um das Kapselvolumen zu finden Feb 07, 2025 am 11:37 AM

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

Wie führe ich Ihre erste Spring -Boot -Anwendung in der Spring Tool Suite aus? Wie führe ich Ihre erste Spring -Boot -Anwendung in der Spring Tool Suite aus? Feb 07, 2025 pm 12:11 PM

Spring Boot vereinfacht die Schaffung robuster, skalierbarer und produktionsbereiteter Java-Anwendungen, wodurch die Java-Entwicklung revolutioniert wird. Der Ansatz "Übereinkommen über Konfiguration", der dem Feder -Ökosystem inhärent ist, minimiert das manuelle Setup, Allo

See all articles