我试图获得一些比赛,因为它匹配两个。现在我只是从console.log()获得一个。
<script type="text/javascript">
var page =
'<tr class="Row">' +
'<td class="1"><p>12/31/2010</p></td>'+
'<td class="2">'+
'<p>text</p>'+
'</td>'+
'</tr>'+
'<tr class="Row">' +
'<td class="1"><p>12/01/2009</p></td>'+
'<td class="2">'+
'<p>text</p>'+
'</td>'+
'</tr>'
;
var pattern = /<td class="1"><p>((\d){2}(?=\/)\/(\d){2}(?=\/)\/20(\d){2})<\/p><\/td>/;
var match = page.match(pattern);
console.log(page);
console.log(match);
</script>
有没有办法检索所有匹配。
答案 0 :(得分:3)
只需使用选项。
pattern = /.../gm;
答案 1 :(得分:0)
我倾向于使用.exec()
在JavaScript中使用g
修饰符,在模式的末尾使用match
修饰符。然后,您可以通过多次调用来迭代匹配,直到var pattern = /<td class="1"><p>((\d){2}(?=\/)\/(\d){2}(?=\/)\/20(\d){2})<\/p><\/td>/g;
var match = pattern.exec(page);
console.log(page);
while(match){
console.log(match);
match = pattern.exec(page);
}
为空:
{{1}}