正则查找 and 其他查找之间的对比

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>正则的查找</title>
</head>
<body>

</body>
<script>
    var str="明明喜欢我,却不告诉我;别理我,我想静静;静静是谁?你TM先告诉我明明是谁";
    var reg=/明明|静静/g;
    var arr=null;
    while ((arr = reg.exec(str))!=null){
        console.log("在位置"+arr.index+"找到关键字"+arr[0]+"下次从"+reg.lastIndex+"开始查找");
    }
</script>
</html>

输入的结果:

在位置0找到关键字:明明下次从2开始找
在位置18找到关键字:静静下次从20开始找
在位置21找到关键字:静静下次从23开始找
在位置33找到关键字:明明下次从35开始找

查找API:
      var arr=reg.exec(str):在str中查找所有符合reg规定的关键字
      要加g
      其中:arr[0]:保存了当前关键字的内容
           arr.index:保存了当前关键字的位置
           reg.lastIndex:保存下次开始查找的位置
  何时使用:只要既查找内容,又查找位置,只能用reg.exec

   总结:查找关键字:
    1. var i=str.search(reg)-->判断有没有  
    缺点:不能指定开始位置  
    2. var arr=str.match(reg)-->获得所有关键字内容,个数
    缺点:不能返回位置   
    3. var i=str.indexOf("kword"[,starti])
    -->从指定位置开始,查找下一个关键字的位置
        缺点:不支持正则
    4. var arr=reg.exec(str)-->即获得内容,又获得位置
    缺点:复杂

猜你喜欢

转载自blog.csdn.net/qq_39579242/article/details/81476824