var reg=/明明|静静/g;
do{
var arr=reg.exec(str);
console.log(arr);
}while(...)
<script>
var str="明明喜欢我,却不告诉我。别理我,我想静静。静静是谁?你先告诉我明明是谁。";
var reg=/明明|静静/g;//创建正则表达式对象的意思
// var arr=reg.exec(str);
// var arr=str.match(reg);
do{
var arr=reg.exec(str);
if(arr!=null){
console.log(arr);
}else{
break;
}
}while(true)
</script>
就可以自动向后找
/正则/是创建一个正则表达式对象的意思
/正则/放在do外部,只创建一个,反复使用
/正则/放在do内部,每循环一次,都创建新的reg对象
又因为exec之所以能向后找,是因为reg对象上有一个lastIndex属性指定累加下次开始的位置。
如果只创建一个reg对象,则reg.lastIndex可反复累加。而如果每次创建新的reg对象,
都会导致lastIndex重新回到0