zoukankan      html  css  js  c++  java
  • 正则中字符串几个重要方法

    1.search()返回是正则匹配首字符的索引,没有返回-1

    var reg=/*d+/g;
    var str="zhufeng*2017*peixun";
    console.log(str.search(reg));//返回7
    

    2.split(正则) 按照正则匹配的字符进行拆分为数组

    var s="https://www.baidu.com/s?tn=baiduhome_pg&rsv_sug3=1&rsv_sug1=1&rsv_sug7=001";
    var reg=/?|&/g;
    var ary=s.split(reg),obj={};
    ary.shift();
    console.log(ary);
    for(var i=0;i<ary.length;i++){
    var a=ary[i].split(/=/);
    obj[a[0]]=a[1];
    }
    console.log(obj)
    //返回 
    Object {tn: "baiduhome_pg", rsv_sug3: "1", rsv_sug1: "1", rsv_sug7: "001"}
    

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    replace(),使用正则加上修饰符g,就可以全部替换完

    语法:replace(/正则/g,str)将正则匹配的内容替换

    var s=" s1    s2  a1  v1 ";
        var reg=/s+/g;
        s=s.replace(reg," ");
        console.log(s);
        //返回  s1 s2 a1 v1 
        var reg=/^s+|s+$/g;
        //首尾有空格
        s=s.replace(reg,"");
        //得出"s1 s2 a1 v1"
    

    语法2:replace(正则,function(){})
    第二个参数是一个函数,return返回什么 就向replace传什么

    replace中的第二个参数可以传一个函数,替换一次执行一次,每一次执行都会默认给他传参数
    第一个参数arguments[0]:大正则匹配的内容
    第二个参数arguments[1]:第一个分组匹配的内容
    第三个参数arguments[2]:第二个分组匹配的内容

    倒数第二个参数:就相当于exec返回值中的那个index,就是大正则匹配的内容首字符出现的索引最后一个参数:就相当于exec返回值中那个input,原字符串
    return返回什么就替换成什么
    ⬇️⬇️⬇️实例⬇️⬇️⬇️

    var str="html2000js14000node6000";
    var reg=/([a-z]+)(d+)/g;
    str=str.replace(reg,function(){
    //console.log(arguments);
    //html2000 ->学费是:2000;
    return arguments[1]+"学费是:"+arguments[2]+";"
    });
    console.log(str);
    

    RegExp.$n

    表示正则第n个分组的内容如:$1,$2,$3
    var str="a1b2c3";
    var reg=/[a-z]+(+)[a-z]+(+)[a-z]+(+)/g
    reg.exec(str);
    

  • 相关阅读:
    后海日记(6)
    后海日记(6)
    后海日记(5)
    后海日记(5)
    TCP 连接的握手信息详解
    TCP 连接的握手信息详解
    java枚举类型的优势在哪里?--一个实例
    java枚举类型的优势在哪里?--一个实例
    网络基础之网络协议篇
    mysql之innodb引擎的共享表空间和独立表空间
  • 原文地址:https://www.cnblogs.com/Jiazexin/p/7080299.html
Copyright © 2011-2022 走看看