0
txt = '<a class="info" href="/some/link" original-title="hello world <br/> Monday <br/> 2 days <br/> Test"> 10 </a>';

var pattern = /\s\d+/;
var parsed_data = parseInt((txt.match(pattern)||['0'])[0]);

いくつかの例からこの正規表現パターンを取得しました。アンカータグからテキスト、つまり値10を解析しようとしています。しかし、得られる値は 2 です。

編集:テーブルにデータを入力するためにデータテーブルを使用しています。そして問題は文字列です。つまり、txtは行要素であり、ループを使用してテーブルから抽出され、これらの値を追加する必要があります。

var parsed_data += parseInt((txt.match(pattern)||['0'])[0]);
4

2 に答える 2

4

HTMLコンテンツを正規表現で解析するのは非常に悪い考えです。この場合、jQueryを使用して修正してください

var txt = '<a class="info" href="/some/link" original-title="hello world <br/> Monday <br/> 2 days <br/> Test"> 10 </a>';

var parsed_data = parseInt($(txt).text(), 10);
console.log(parsed_data)

デモ:フィドル

于 2013-11-07T08:40:11.440 に答える