


Wie kann ich mehrzeiligen Text mit regulären Java-Ausdrücken korrekt zuordnen?
Mehrzeiligen Text mit regulärem Ausdruck abgleichen
Beim Versuch, mehrzeiligen Text mit Java abzugleichen, kann es bei der Verwendung des Pattern.MULTILINE-Modifikators und zu Problemen kommen der (?m)-Ausdruck. Hier ist ein Beispiel, das den Unterschied erklärt und eine Lösung bietet:
Wir haben den folgenden mehrzeiligen Text:
User Comments: This is \t a\ta \n test \n\n message \n
Muster mit Pattern.MULTILINE-Modifikator:
String pattern1 = "User Comments: (\W)*(\S)*"; Pattern p = Pattern.compile(pattern1, Pattern.MULTILINE); System.out.println(p.matcher(test).find()); // true
Dieses Muster stimmt erfolgreich mit dem Text überein, da der Modifikator Pattern.MULTILINE die Übereinstimmung der ^- und $-Anker am Anfang und ermöglicht Ende jeder Zeile.
Muster mit (?m)-Ausdruck:
String pattern2 = "(?m)User Comments: (\W)*(\S)*"; System.out.println(test.matches(pattern2)); // false
Dieses Muster stimmt nicht überein, da der (?m)-Ausdruck falsch ist. Es sollte (?s) sein, um den DOTALL-Modus zu aktivieren, der es ermöglicht, dass der Punkt (.) mit Zeilenumbruchzeichen übereinstimmt.
Außerdem wird die Methode matches() verwendet, um zu prüfen, ob die gesamte Zeichenfolge mit dem Muster übereinstimmt. In diesem Fall stimmt das Muster nur mit einem Teil der Zeichenfolge überein, daher gibt „matches()“ „false“ zurück.
Lösung:
Um den mehrzeiligen Text mithilfe eines regulären Ausdrucks korrekt abzugleichen , können Sie das folgende Muster mit dem Modifikator Pattern.DOTALL verwenden:
Pattern regex = Pattern.compile("^\s*User Comments:\s+(.*)", Pattern.DOTALL); Matcher regexMatcher = regex.matcher(subjectString); if (regexMatcher.find()) { ResultString = regexMatcher.group(1); }
Dieses Muster erfasst den Text nach „Benutzerkommentare:“ und speichert ihn in ErgebnisString.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrzeiligen Text mit regulären Java-Ausdrücken korrekt zuordnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Dreamweaver CS6
Visuelle Webentwicklungstools