Heim > Java > javaLernprogramm > Wie kann ich mehrzeiligen Text mithilfe regulärer Ausdrücke in Java effektiv abgleichen?

Wie kann ich mehrzeiligen Text mithilfe regulärer Ausdrücke in Java effektiv abgleichen?

DDD
Freigeben: 2024-12-27 08:20:11
Original
311 Leute haben es durchsucht

How Can I Effectively Match Multiline Text Using Regular Expressions in Java?

Verwendung regulärer Ausdrücke für den mehrzeiligen Textabgleich

Beim Versuch, mehrzeiligen Text mit regulären Ausdrücken in Java abzugleichen, spielen bestimmte Überlegungen eine Rolle. Der Pattern.MULTILINE-Modifikator und die Abkürzung (?m) können scheinbar unerwartete Ergebnisse liefern.

Um das Verhalten zu verstehen, ist es wichtig, den Zweck der Modifikatoren zu klären. Mit Pattern.MULTILINE (?m) können die Anker ^ (Zeilenanfang) und $ (Zeilenende) am Anfang und Ende jeder Zeile übereinstimmen, anstatt nur an den Grenzen der Zeichenfolge. Andererseits ermöglicht Pattern.DOTALL (?s), dass das Punktzeichen mit Zeilenumbrüchen übereinstimmt.

In Ihrem Beispiel schlägt das Muster (?m) fehl, wenn es mit String.matches verwendet wird, da matches() das erfordert Regex, um die gesamte Zeichenfolge abzugleichen. Da Ihr regulärer Ausdruck (W)(S) nur mit einem Teil der Zeichenfolge übereinstimmt, ergibt der Vergleich „falsch“.

Um eine Zeichenfolge zu finden, die mit „Benutzerkommentare:“ beginnt, einem regulären Ausdruck was besser zur Aufgabe passt, ist:

^\s*User Comments:\s*(.*)
Nach dem Login kopieren

Diese Regex verwendet Pattern.DOTALL, um zu ermöglichen, dass der Punkt mit Zeilenumbrüchen übereinstimmt, und erfasst den Text, der auf „Benutzer“ folgt Kommentare:“ in die erste Erfassungsgruppe.

Durch die Verwendung des DOTALL-Modifikators und die Nutzung der richtigen Abgleichsmethode (find() oder matches()) können Sie mehrzeiligen Text mithilfe regulärer Ausdrücke in Java effektiv abgleichen.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrzeiligen Text mithilfe regulärer Ausdrücke in Java effektiv abgleichen?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage