gpt4 book ai didi

javascript - 尝试使用 javascript 中的正则表达式获取 ... 列表

转载 作者:行者123 更新时间:2023-12-02 18:29:45 25 4
gpt4 key购买 nike

我想解析一些<tr>来自 javascript 中的输入字符串。我尝试使用正则表达式 (<tr[^>]*>(?:.(?!</tr>))*.</tr>)* 。但我只得到最后一个 <tr> 。另请参阅jsfiddle .

$("#container").append(content);

parts = new RegExp("^(.*tbody[^>]*>)(.*)(</tbody>.*)").exec(content);
table = parts[1] + parts[3];
rowString = parts[2];
$("#rowString").text(rowString);

// This is the interesting row:
rows = new RegExp("(<tr[^>]*>(?:.(?!</tr>))*.</tr>)*").exec(rowString);

$("#count").text(rows.length - 1 + " row(s) found");

for (rowIndex = 1; rowIndex < rows.length; rowIndex += 1) {
rowListItem = $("<li></li>");
rowListItem.text(rows[rowIndex]);
$("#list").append(rowListItem);
}

更新

感谢您的回答。我将按照 DhruvPathak 建议的方式进行。不幸的是,jQuery 不是一个选项,因为它对于大表有一个“RangeError:超出最大调用堆栈大小”。虽然我不再需要它,但有人知道我的正则表达式出了什么问题吗?

最佳答案

而是将此字符串设置为 document.createElement 创建的节点的innerHTML,然后使用 getElementsByTagName。

例如:http://jsfiddle.net/5JwXr/

var parentCont = document.createElement('div');
parentCont.innerHTML = content ;
x = parentCont.getElementsByTagName('tr');
alert(x.length);

关于javascript - 尝试使用 javascript 中的正则表达式获取 <tr>...</tr> 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17948217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com