下面的代码应该返回5个匹配,但它只返回一个.
var str = '"<div id="rxAntMER" class="LEDPill" data-hookableby="globalid" data-oncolor="green" data-offcolor="maroon" data-paramname="rxAntMER" data-index="9" data-blockindex="0"></div>
<div id="rxAntMER" class="LEDPill" data-hookableby="globalid" data-oncolor="green" data-offcolor="maroon" data-paramname="rxAntMER" data-index="8" data-blockindex="0"></div><div id="rxAntMER" class="LEDPill" data-hookableby="globalid" data-oncolor="green" data-offcolor="maroon" data-paramname="rxAntMER" data-index="7" data-blockindex="0"></div>
<div id="rxAntMER" class="LEDPill" data-hookableby="globalid" data-oncolor="green" data-offcolor="maroon" data-paramname="rxAntMER" data-index="6" data-blockindex="0"></div><div id="rxAntMER" class="LEDPill" data-hookableby="globalid" data-oncolor="yellow" data-offcolor="maroon" data-paramname="rxAntMER" data-index="5" data-blockindex="0"></div>
<div id="rxAntMER" class="LEDPill" data-hookableby="globalid" data-oncolor="yellow" data-offcolor="maroon"';
var results = str.match(/id="rxAntMER".+data-blockindex="0"/g);
alert("Number of matches = " + results.length);
Run Code Online (Sandbox Code Playgroud)
正则表达式试图完成以下任务:
匹配文字'id ="rxAntMER"'
跟随1或多个'任何字符'
直到匹配文字'data-blockindex ="0"'
提供的文本中有5个这样的匹配.我已经尝试过使用RegEx(...)和string.Match(...)的示例,教程和许多排列,但我无法得到我正在寻找的结果.
关于我做错了什么的任何建议或想法?