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 JavaScript dies nicht tut 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 Modifikator /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
Es ist erwähnenswert, dass JavaScript ab ES2018 das Flag „/s“ (dotAll) unterstützt. Das bedeutet, dass Sie in moderneren Umgebungen Ihre ursprüngliche Regex-Syntax mit dem Flag „/s“ anstelle des Flags „/m“ verwenden können:
/<div>
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