„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie extrahiere ich mit Regex mehrzeiligen Text zwischen Tags in JavaScript?

Wie extrahiere ich mit Regex mehrzeiligen Text zwischen Tags in JavaScript?

Veröffentlicht am 19.11.2024
Durchsuche:943

How to Extract Multiline Text Between Tags in JavaScript with Regex?

Regex zum Extrahieren von mehrzeiligem Text zwischen zwei Tags in JavaScript

Sie stehen vor Herausforderungen beim Extrahieren von Text aus einer HTML-Zeichenfolge mithilfe eines Regex-Musters . Insbesondere scheint das Multiline-Flag (/m) nicht zu funktionieren, wenn der HTML-Code Zeilenumbrüche enthält.

Um dieses Problem zu beheben, müssen Sie den Modifikator „/.../s“ verwenden. allgemein als „dotall“-Modifikator bezeichnet. Es ist jedoch wichtig zu beachten, dass dieser Modifikator in Vanilla-JavaScript nicht vorhanden ist.

Problemumgehungen ohne Dotall-Modifikator:

Wenn Sie das /s-Flag nicht verwenden können Erwägen Sie in Ihrer aktuellen JavaScript-Umgebung eine Problemumgehung mithilfe einer Zeichenklasse, die sowohl Leerzeichen als auch Nicht-Leerzeichen enthält:

[\s\S]

In Ihrem Fall würde der reguläre Ausdruck so aussehen :

/<div>

Modernes JavaScript: Unterstützung für Dotall-Modifikatoren

In modernen JavaScript-Umgebungen, die ES2018 unterstützen, können Sie das „ /s" (dotAll)-Flag. Dieses Flag sorgt dafür, dass das Punktzeichen (.) im Regex auch mit Zeilenumbruchzeichen übereinstimmt.

Daher könnte Ihr ursprünglicher Regex mit dem Flag /s umgeschrieben werden:

/<div>

Durch die Verwendung des Dotall-Modifizierers (/s) oder seiner Problemumgehung ([\s\S]) können Sie sicherstellen, dass Ihr Regex-Muster erfolgreich mehrzeiligen Text zwischen den angegebenen HTML-Tags abgleicht, selbst wenn darin Zeilenumbrüche vorhanden sind Text.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3