我想使用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