Welcome 微信登录

首页 / 脚本样式 / JavaScript / JavaScript中使用正则匹配多条,且获取每条中的分组数据

不过我要面对的是一个很松散的HTML页面,无法XML
因此,本文的重点在于如果要获取的网页中有Table或List段落,需要将这些段落的信息按照列的方式保存到JS的数组中
直接贴代码:
复制代码 代码如下:
var str = "字符串字符串<table><tr><th>ID</th><th>姓名</th><th>电话</th></tr><tr><td>01</td><td>张三</td><td>1234567</td></tr><tr><td>02</td><td>李四</td><td>343434</td></tr><tr><td>03</td><td>王五</td><td>685654</td></tr></table>字符串字符串";
var regRecord = new RegExp("\<tr>\<td>([0-9]{2})\<\/td\>\<td>([^\<]+)\<\/td\>\<td>([0-9]+)\<\/td\>\<\/tr\>","g");
var fieldIndex = { "Id" : 1 , "Name" : 2 , "Phone" : 3 }
var g_records = [],record;
while ((record = regRecord.exec(str)) != null){
g_records.push({
"Id" : RegExp["$"+fieldIndex.Id]
,"Name" : RegExp["$"+fieldIndex.Name]
,"Phone" : RegExp["$"+fieldIndex.Phone]
});
}
//此时 g_records 就保存了匹配的数据表格,打印出来看看:
for(var i=0;i<g_records.length;i++){
alert("ID:" + g_records[i].Id + ";Name:" + g_records[i].Name + ";Phone:" + g_records[i].Phone);
}