JavaScript之正则表达式[应用实例]

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)

posted @ 2017-12-13 18:08  千千寰宇  阅读(180)  评论(0编辑  收藏  举报