Heim >Web-Frontend >js-Tutorial >Wie gehe ich mit dem mehrzeiligen Regex-Matching in JavaScript um?
Mehrzeiliger Regex-Abgleich mit JavaScript
Beim Abgleich von Zeichenfolgen, die sich über mehrere Zeilen erstrecken, ist das /m-Flag von JavaScript bekanntermaßen unzureichend. Um diese Einschränkung zu beheben, ist ein robusterer Ansatz erforderlich.
Die Lösung
Die Lösung besteht darin, die Standardeinstellung zu ersetzen. (Punkt-)Muster, das jedem einzelnen Zeichen entspricht, stattdessen mit [sS]. Hier ist ein Beispiel:
var ss = "<pre class="brush:php;toolbar:false">aaaa\nbbb\ncccddd"; var arr = ss.match(/
/gm); alert(arr); // "<pre class="brush:php;toolbar:false">..."
Diese Regex verwendet das Metazeichen [sS], das mit jedem Zeichen übereinstimmt, einschließlich Leerzeichen und Zeilenumbrüchen. Dadurch kann die Regex Zeichenfolgen unabhängig von ihren Zeilenumbrüchen zuordnen.
Alternativen und Leistungsüberlegungen
Während [sS] eine zuverlässige Lösung ist, gibt es alternative Ansätze :
Best Practices
Zur Optimierung der Leistung und Vermeiden Sie unnötige Gier und beachten Sie die folgenden Best Practices:
Das obige ist der detaillierte Inhalt vonWie gehe ich mit dem mehrzeiligen Regex-Matching in JavaScript um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!