1. 获取信息
"水资源利用与保护周三第9,10,11节{第1-6周}施浩然3B-302多媒体教室152座信息检索周三第9,10节{第9-12周}谭长拥4A-207多媒体160座{第12周}".match(/{第[d]*[-]*[d]*周}*/gi);
//["{第1-6周}", "{第9-12周}", "{第12周}"]
与下列正则表达式对比结果:(注意:一个d的意义:是单个阿拉伯数字,不是多个)
"水资源利用与保护周三第9,10,11节{第1-6周}施浩然3B-302多媒体教室152座信息检索周三第9,10节{第9-12周}谭长拥4A-207多媒体160座{第12周}".match(/{第[d]{1}[-]*[d]{2}周}*/gi);
//["{第5-16周}"]
综合demo:
"[".concat(([45,66].join(","))).concat("]");//[45,46];
"{第18-20周}".replace(/[{}第周]/gi, "").split("-").map(function(ele, index, aaray){
return parseInt(ele);
});//[18,20]; [18]
document.getElementById("test2").innerHTML.replace(/<br>/gi, "").match(/{第[d]*[-]*[d]*周}*/gi);
"水资源利用与保护周三第9,10,11节{第1-6周}施浩然3B-302多媒体教室152座信息检索周三第9,10节{第9-12周}谭长拥4A-207多媒体160座{第12周}".match(/{第[d]*[-]*[d]*周}*/gi);
var courses_weekIndexs = "水资源利用与保护周三第9,10,11节{第1-6周}施浩然3B-302多媒体教室152座信息检索周三第9,10节{第9-12周}谭长拥4A-207多媒体160座{第12周}".match(/{第[d]*[-]*[d]*周}*/gi);
var datasetWeek = courses_weekIndexs.map(function(ele, index, array){
//console.log("ele:", ele);
var weekIndexs = ele.replace(/[{}第周]/gi, "").split("-").map(function(E, I, A){
return parseInt(E);
});//[18, 20]; [18]
//console.log("weekIndexs:", weekIndexs);
var result = "[".concat((weekIndexs.join(","))).concat("]");
//console.log(result);
return result;
}).join(";");
//courses_weekIndexs.join(";");
datasetWeek
运行结果:
"[1,6];[9,12];[12]"
2.参考文献:
[JavaScript RegExp 对象](http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp)