Ich habe einen regulären Ausdruck geschrieben, um Zeichenfolgen aus HTML abzurufen, aber es scheint, dass das mehrzeilige Flag nicht funktioniert.
Dies ist mein Muster und ich möchte den Text in h1
Tag bekommen.
var pattern= /<div class="box-content-5">.*<h1>([^<]+?)<\/h1>/mi
m = html.search(pattern);
return m[1];
Ich habe einen String erstellt, um ihn zu testen. Wenn die Zeichenfolge "\ n" enthält, ist das Ergebnis immer null. Wenn ich alle "\ n" entfernt habe, habe ich das richtige Ergebnis erzielt, egal mit oder ohne /m
Flagge.
Was ist los mit meiner Regex?
dotAll
Modifikator haben wird, damit Sie dies tun können, /.../s
und Ihre Punkte auch mit neuen Zeilen übereinstimmen. Ab Juli 2017 steht es hinter einer Flagge in Chrome.