返回一些比赛

时间:2010-12-08 11:53:29

标签: javascript regex

我试图获得一些比赛,因为它匹配两个。现在我只是从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>

有没有办法检索所有匹配。

2 个答案:

答案 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}}

见效:http://jsfiddle.net/jonathon/EtpQp/