0

.match()preg_match_allをphpのように使用して、テキストがパターンと一致するテキストのいくつかの場所をキャッチできますか?

今私はテストする必要があります:

<div>
    <span>
    one something 1 $2502
    </span><br />

    <span>
        one something 2
    </span><br />

    <span>
        one something 3 $25102
    </span><br />
</div>

私は次のパターンを使用しています:/>([^<>]*\$\s*(\d+\.?\d+)[^<>]*)</しかし、結果は常に最初のスパンのものです。

 var priceArr = completetext.match(/>([^<>]*\$\s*(\d+\.?\d+)[^<>]*)</);
 alert(priceArr );
4

1 に答える 1

0
var match = []; 
match[0] = [];
match[1] = [];
match[2] = [];

'YOUR TEXT'.replace(/>([^<>]*\$\s*(\d+\.?\d+)[^<>]*)</ig, function() {
  match[0].push(arguments[0]); 
  match[1].push(arguments[1]);
  match[2].push(arguments[2]);

  return arguments[0];
}); 

結果は変数matchになります--console.log(match)

http://jsfiddle.net/SkXCG/

于 2012-12-25T22:12:49.067 に答える