本文实例讲述了javascript字符串循环匹配的方法。分享给大家供大家参考。具体如下:
采用exec和String.match方法,对于exec必须开启全局匹配g标识才能获取所有匹配
// 需要提取这种数据 | 2012-12-17 | 11:02 , 12:25 , 13:22 , 15:06 , 15:12 , 19:22 , 23:47 |
var rawData = '
| 日期 | 签到签退时间 | '
+ '| 2012-12-03 | 10:16 , 13:22 , 20:05 |
'
+ '| 2012-12-04 | 11:16 , 14:22 , 21:05 |
';
// 方法一
var regexp = /| (d{4}-d{2}-d{2}) | (.*?) | /g;
// 加上g标识才会全局匹配,否则只匹配一个
var matchedArray = regexp.exec(rawData);
while(matchedArray != null) {
console.dir(matchedArray);
matchedArray = regexp.exec(rawData);
}
// 方法二
var regexp = /(d{4}-d{2}-d{2}) | (.*?) | /g;
// 加上g标识才会全局匹配
var matchedArray = rawData.match(regexp);
console.dir(matchedArray);
// 方法三
var regexp = /(d{4}-d{2}-d{2}) | (.*?) | /;
// 不加g标识
var matchedArray = rawData.match(regexp);
console.dir(matchedArray);
console.log(matchedArray.index);
while(matchedArray != null) {
rawData = rawData.substr(matchedArray.index + matchedArray[0].length);
matchedArray = rawData.match(regexp);
}
console.dir(matchedArray);
希望本文所述对大家的javascript程序设计有所帮助。