可以像PHP中的preg_match_all
一样使用.match()来捕获文本与模式匹配的文本中的几个位置吗?
现在我必须测试:
<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 );
答案 0 :(得分: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];
});
你得到变量匹配的结果 - console.log(匹配)