Mehrzeilige Textextraktion aus HTML mit JavaScript-Regex
Beim Versuch, Zeichenfolgen aus HTML mithilfe eines regulären Ausdrucks in JavaScript abzurufen, ist dies von entscheidender Bedeutung um die Kompatibilität von Modifikatoren zu berücksichtigen. In Ihrem Szenario treten Probleme mit dem mehrzeiligen Flag (/m) auf.
Der Dotall-Modifikator und JavaScript
Das Problem ergibt sich aus der Tatsache, dass dies bei JavaScript nicht der Fall ist unterstützen von Natur aus den Modifikator /.../s, der auch als Modifikator „dotall“ bekannt ist. Dieser Modifikator erzwingt, dass das Punktzeichen (.) mit Zeilenumbrüchen übereinstimmt, was normalerweise nicht der Fall ist.
Erstellen einer Problemumgehung: Zeichenklasse
Um das Fehlen des zu umgehen Mit dem Modifizierer /s in JavaScript können Sie eine Zeichenklasse () zusammen mit ihrer Negation (S) verwenden. Dieser Ansatz entspricht effektiv jedem Zeichen, einschließlich Zeilenumbrüchen.
Aktualisierte Regex-Syntax
Vor diesem Hintergrund sollte Ihr Regex wie folgt geändert werden:
/<div>
ES6-Unterstützung
Das ist ab sofort erwähnenswert ES2018, JavaScript unterstützt das Flag „/s“ (dotAll). Das bedeutet, dass Sie in moderneren Umgebungen Ihre ursprüngliche Regex-Syntax mit dem Flag „/s“ anstelle des Flags „/m“ verwenden können:
/<div>
Das obige ist der detaillierte Inhalt vonWie extrahiere ich mehrzeiligen Text aus HTML mit JavaScript Regex?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!