Übereinstimmende mehrzeilige Muster
Ich möchte greasemonkey verwenden, um Wiki-Daten von Last.fm zu entfernen (dies ist mit der REST-API nicht möglich). Ich kann die Seite mit GM_xmlhttpRequest () in Ordnung bringen und sie wird ordnungsgemäß zurückgegeben.
Ich möchte keinen DOM-Prozessor verwenden, um die gesamte Seite zu verarbeiten, da ich nur einen kleinen Teil möchte und daher reguläre Ausdrücke verwende.
Die Wiki-Daten sind in der Seite wie:
<div id="wiki">
description
description
...
</div>
Also schrieb ich:
/\<div id="wiki"\>(.+)\<\/div\>/m.exec(data)[1];
Wenn ich dies in der Fehlerkonsole teste (wo die mehreren Zeilen zu einer einzigen Zeile zusammengefasst sind, funktioniert es, aber auf der Seite schlägt es fehl und sagt:
Error: /\<div id="wiki"\>(.+)\<\/div\>/m.exec(data) is null
Source File: file:///home/jeff/.mozilla/firefox/x4su9596.default/extensions/%7Be4a8a97b-f2ed-450b-b12d-ee082ba24781%7D/components/greasemonkey.js
Line: 357
Ich vermute, dass der Multiline-Modus keine Übereinstimmung mit neuen Zeilen bewirkt, was ich erwartet hatte. Wie kann ich dafür sorgen, dass es mit einem beliebigen Zeichen einschließlich Zeilenumbrüchen übereinstimmt?