我想使用greasemonkey從Last.fm刮取維基數據(這不適用於他們的REST API)。我可以用GM_xmlhttpRequest()抓住頁面,並且返回正確。匹配多行模式
我不想使用DOM處理器來處理整個頁面,因爲我只想要一個小塊,所以我使用正則表達式。
維基數據在頁等:
<div id="wiki">
description
description
...
</div>
所以我寫:
/\<div id="wiki"\>(.+)\<\/div\>/m.exec(data)[1];
當我測試這在錯誤控制檯(其中所述多個線被壓扁成一個單一的線,它的工作原理,但在頁面上它失敗,並說
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
我猜測多行模式不會使dor匹配新線,這是我的預期。我如何使它匹配包括換行符在內的任何字符? (。*?)
這個工作,但我不得不讓lazy-- [^] + ?,謝謝 – 2009-09-07 00:52:45