Padrões de multilinha correspondentes
Eu quero usar o greasemonkey para extrair dados do wiki da Last.fm (isso não é possível com sua API REST). Eu posso pegar a página bem com GM_xmlhttpRequest (), e ele está retornando corretamente.
Eu não quero usar um processador DOM para processar a página inteira, pois eu só quero um pequeno pedaço, então estou usando expressões regulares.
Os dados do wiki estão na página como:
<div id="wiki">
description
description
...
</div>
Então eu escrevi:
/\<div id="wiki"\>(.+)\<\/div\>/m.exec(data)[1];
Quando eu testar isso no console de erro (onde as várias linhas são achatadas em uma única linha, ele funciona, mas na página ele falha e diz
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
Eu estou supondo que o modo multilinha não faz o jogo corresponder a novas linhas, que é o que eu esperava. Como faço para combinar com qualquer caractere, incluindo quebras de linha?