JavaScript中使用正則匹配多條,且擷取每條中的分組資料

來源:互聯網
上載者:User

不過我要面對的是一個很鬆散的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);
}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.