Heim > Java > javaLernprogramm > Hauptteil

Wie helfen widerstrebende Quantifizierer beim Extrahieren spezifischer Daten mithilfe von Regex-Erfassungsgruppen in Java?

Linda Hamilton
Freigeben: 2024-10-28 07:57:02
Original
478 Leute haben es durchsucht

How Do Reluctant Quantifiers Help Extract Specific Data Using Regex Capturing Groups in Java?

Regex-Erfassungsgruppen in Java

Grundlegendes zur Erfassung regulärer Ausdrücke

Im Codebeispiel Der reguläre Ausdruck „(.)(d )(.)“ sucht nach Folgendem:

  • Gruppe 1 (.*): Beliebiges Zeichen, einschließlich Leerzeichen, null oder mehrmals.
  • Gruppe 2 (d):Eine oder mehrere Ziffern.
  • Gruppe 3 (.*): Beliebiges Zeichen, einschließlich Leerzeichen, null oder mehrmals.

Dieser reguläre Ausdruck gleicht Zeichenfolgen ab, in denen Ziffern vorhanden sind, wie in der bereitgestellten Eingabe zu sehen: „Diese Bestellung wurde für QT3000 aufgegeben! OK?“.

Gierige vs. widerstrebende Quantifizierer

Zunächst verwendet der Code gierige Quantifizierer in Gruppe 1 und versucht, so viele Zeichen wie möglich zuzuordnen. Dies führt dazu, dass Gruppe 1 die gesamte Zeichenfolge verbraucht und nichts für die Gruppen 2 und 3 übrig bleibt.

Um dies zu beheben, muss der Modifikator „?“ verwendet werden. wird dem Quantor hinzugefügt und in einen widerstrebenden Quantor umgewandelt. Widerstrebende Quantifizierer stimmen mit der Mindestanzahl von Zeichen überein, die zur Erfüllung der Bedingung erforderlich sind, und bewahren Zeichen für nachfolgende Gruppen.

Vorteil der Erfassung von Gruppen

Erfassungsgruppen ermöglichen eine bessere Kontrolle über die Teile einer Zeichenfolge, die übereinstimmen. Sie ermöglichen:

  • Indizierte Referenzierung: Erfasste Gruppen können über ihren Index (z. B. m.group(1)) referenziert werden, um übereinstimmende Teilzeichenfolgen abzurufen.
  • Rückverweise: Erfasste Gruppen können verwendet werden, um Teile einer Zeichenfolge abzugleichen, die bereits abgeglichen wurden.
  • Benannte Erfassungen: In Java 7 und höher benannte Gruppen ermöglichen intuitivere und wartbarere reguläre Ausdrücke.

Zusätzliche Hinweise

  • Die Java Pattern-Klasse bietet eine übersichtliche Möglichkeit, reguläre Ausdrücke zu kompilieren.
  • Die Matcher-Klasse kann verwendet werden, um Übereinstimmungen zu finden und zu erfassen.
  • Die Verwendung widerstrebender Quantifizierer in Gruppe 1 ermöglicht die genaue Extraktion der Ziffern in der Beispielzeichenfolge.
  • Den Unterschied verstehen Quantoren sind entscheidend für die Optimierung regulärer Ausdrucksmuster.

Das obige ist der detaillierte Inhalt vonWie helfen widerstrebende Quantifizierer beim Extrahieren spezifischer Daten mithilfe von Regex-Erfassungsgruppen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage