<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 が提案した方法で実行します。残念ながら、大きなテーブルで「RangeError: Maximum call stack size exceeded」が発生するため、jQuery はオプションではありません。もう必要ありませんが、正規表現の何が問題なのか誰か知っていますか?