Php 我可以使用.match()匹配文本出现的多个位置吗?

Php 我可以使用.match()匹配文本出现的多个位置吗?,php,javascript,regex,Php,Javascript,Regex,可以像php中的preg\u match\u all一样使用.match()来捕捉文本中与模式匹配的几个位置吗 现在我必须测试: <div> <span> one something 1 $2502 </span><br /> <span> one something 2 </span><br /> <span> on

可以像php中的
preg\u match\u all
一样使用.match()来捕捉文本中与模式匹配的几个位置吗

现在我必须测试:

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

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

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

一个大约1美元2502

一二
一个3美元左右,25102美元
我正在使用以下模式:
/>([^]*\$\s*(\d+\.?\d+[^]*)([^]*\$\s*(\d+\.?\d+[^]*)
var match=[];
匹配[0]=[];
匹配[1]=[];
匹配[2]=[];

“您的文本”。替换(/>([^]*\$\s*(\d+\.?\d+[^]*)要迭代匹配,您的解决方案可能会起作用,但应该有一些不涉及使用替换或预定义匹配数组的内容-每个都有一些内容。或者while..我想我将为此开始一个新问题,或者如果regexp中不存在,则添加一个“g”..match[2]=[];//清除regexp中的标志并为全局搜索添加“g”,regexp=regexp.toString().replace(//^\/]+?$/,function(_flags){flags=_flags+((/g/.test(_flags))?'',return“”;}.replace(//(^\/)|(\/$)/,'');this.replace(新的regexp(regexp,flags),function()。。。
 var priceArr = completetext.match(/>([^<>]*\$\s*(\d+\.?\d+)[^<>]*)</);
 alert(priceArr );
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];
});