请问这个正则有问题吗,获取formhash的值,但是结果却有很多null是怎么回事?
var http = require("http");
var url = {
host:"bbs.colg.cn",
path:"/thread-7076705-1-1.html",
method:"GET"};
http.get(url,function(get){
get.setEncoding("utf8");
get.on("data",(data)=>{
var data = data.match(/formhash" value="(.*?)"/g);
console.log(data);
});
});
null
null
null
null
null
[ 'formhash" value="3807b922"', 'formhash" value="3807b922"' ]
null
null
这个问题不是正则的问题。
http 中的
data
事件是在有数据片段到来时触发,而不是全部数据返回时才触发。可使用下面的代码片段实验:我测试的结果是:共生产了37个文件;
在没有
formhash
的data中,返回的就是 null。这个问题的解决方案是在数据全部获取到时,再使用正则,这就用到
end
事件。例如: