Heim >Web-Frontend >js-Tutorial >Wie erfasst man mehrzeiligen Text in HTML-Tags mit JavaScript Regex?

Wie erfasst man mehrzeiligen Text in HTML-Tags mit JavaScript Regex?

Susan Sarandon
Susan SarandonOriginal
2024-11-09 22:07:02581Durchsuche

How to Capture Multiline Text Within HTML Tags using JavaScript Regex?

JavaScript Regex: Mehrzeilige Textextraktion zwischen Tags

In diesem Szenario möchten Sie den Text innerhalb eines HTML

Tag mit einem regulären Ausdrucksmuster. Es treten jedoch Probleme mit mehrzeiligem Text auf, insbesondere wenn der Text Zeilenumbrüche („n“) enthält.

Das von Ihnen bereitgestellte Muster lautet:

/<div>

Mehrzeiliger Text wird jedoch nicht richtig erfasst .

Lösung

Das Problem liegt im Standardverhalten des Punkt-Metazeichens (.) in JavaScript. Standardmäßig ist . stimmt nicht mit Zeilenumbrüchen überein. Um dieses Problem zu beheben, können Sie den Modifikator /s (dotAll) verwenden, der . um auch mit Zeilenumbrüchen übereinzustimmen.

JavaScript unterstützte jedoch den /s-Modifizierer in älteren Versionen nicht. Stattdessen können Sie die folgende Problemumgehung verwenden:

/<div>

wobei:

  • [sS]* mit jedem Zeichen übereinstimmt, einschließlich Zeilenumbrüchen (n)

Seit ES2018 hat JavaScript das Flag /s (dotAll) eingeführt. Sie können dieses Flag jetzt direkt verwenden und das Muster wie folgt vereinfachen:

/<div>

Das obige ist der detaillierte Inhalt vonWie erfasst man mehrzeiligen Text in HTML-Tags mit JavaScript Regex?. 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