suchen
HeimJavajavaLernprogrammWie kann ich mehrzeiligen Text mit regulären Java-Ausdrücken korrekt zuordnen?

How Can I Correctly Match Multiline Text Using Java Regular Expressions?

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!

Stellungnahme
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 vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Sicherer Prüfungsbrowser

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

Dreamweaver CS6

Visuelle Webentwicklungstools