/*模拟爬虫*/
var html='<link rel="stylesheet" href="index.css"/><h1>标题一</h1><a class="curr" href="http://tmooc.cn">go to tmooc</a><a name="top"></a><span>不能为空</span><a href="http://tedu.cn" target="_blank">go to tedu</a><div>panel</div>';
var reg=/<a\s+([^>]*?)href=['"](.*?)['"](.*?)>(.*?)<\/a>/ig;
var arr=null;//接住本次找到的a元素
var urls=[];//保存本次找到的a
//先调用reg的exec查找HTML中的a,将结果保存在arr中,再和null比较
while((arr=reg.exec(html))!=null){
//将本次找到的a的第二个分组对应的内容,压入urls
urls.push(RegExp.$2);
}
var html='<link rel="stylesheet" href="index.css"/><h1>标题一</h1><a class="curr" href="http://tmooc.cn">go to tmooc</a><a name="top"></a><span>不能为空</span><a href="http://tedu.cn" target="_blank">go to tedu</a><div>panel</div>';
var reg=/<a\s+([^>]*?)href=['"](.*?)['"](.*?)>(.*?)<\/a>/ig;
var arr=null;//接住本次找到的a元素
var urls=[];//保存本次找到的a
//先调用reg的exec查找HTML中的a,将结果保存在arr中,再和null比较
while((arr=reg.exec(html))!=null){
//将本次找到的a的第二个分组对应的内容,压入urls
urls.push(RegExp.$2);
}
console.log(urls.join("\n"));
['"]:双引号或单引号
. :单独一个点是除换行符以外的所有字符
.* :大白话说就是无限制的字符
?就是截止的意思
<\/a>/ig; :因为有2个/,所以在/前面加\就OK了。
正则表达式:/内容/
\s :空格