• javascript正则表达式获取控制


    正则表达式的元字符是包含特殊含义的字符,他们有一些特殊的功能,可以控制匹配模式的方式,反斜杠后的元字符将失去其特殊含义

              单个字符

    元字符              匹配情况

    .                匹配除换行符外的任意字符

    [a-z0-9]             匹配括号中的字符集中的任意字符

    [^a-z0-9]              匹配任意不在括号中的字符集中的字符

    d                匹配数字

    D                匹配非数字同[^0-9]相同

    w                匹配字母和数字及_

    W                匹配非字母和数字及_

                    重复字符

    x?            匹配0个或者1个x

    x*            匹配0个或者任意多个x

    x+                 匹配至少1个x

    (xyz)+             匹配至少一个xyx

    x{m,n}          匹配最少m个,最多n个x

                    替代字符

    this|where|logo          匹配this或where或logo中任意一个

                                                          空白字符

                  匹配null字符

    f              匹配进制字符

                  匹配换行字符

                  匹配回车字符

                  匹配制表字符

    s              匹配空白字符,空格 制表和换行

    S              匹配非空白字符

                  锚字符

    ^              匹配行首

    $              行尾匹配

    A              只有匹配字符串开始处

                  匹配单词边界,词在[]内时无效

    B              匹配非边界单词

    G              匹配当前搜索的开始位置

                  匹配字符串结束处或行尾

    z               只匹配字符串结尾处

                 记录字符

    (string)             用于反向引用的分组(括号内的看成一个字符)

    1或$1              匹配第一个分组中的内容

    2或$2              匹配第二个分组中的内容

    3或$3              匹配第三个分组中的内容

    var box=/1(.*)9/;                 
            var str="duwei19890220@163.com";
            str.match(box);
            alert(RegExp.$1);                //表示获取模式中第一个分组对应匹配的字符串  我们这里获取的是98
    var box=/1(.*)9/;                 
            var str="duwei19890220@163.com";
            document.write(str.replace(box,"<strong>$1</strong>"));  //这里的$1是获取第一个分组中的内容98 把他加粗
    var box=/(.*)s(.*)/;                 
            var str="duwei liuhaibo";
            document.write(str.replace(box,"$2 $1"));  //位置交换

    exec返回数组的操作

    var box=/^([a-z]+)s([0-9]{4,4})$/;                //使用分组  
            var str="duwei 2018";
            //alert(box.exec(str));                            //显示 duwei 2018 duwei,2018  为什么  exec方法返回的是数组
            var a=box.exec(str);
            alert(a.length);                                //数组长度为3
            alert(a[0]);                                    //数组的第一个元素存储的是整个的字符串
            alert(a[1]);                                    //第二个下标存储的是第一个分组匹配的字符串
            alert(a[2]);
    var box=/(a?(b?(c?)))/;            //嵌套分组   从外往内分组
            var str="abc";
            var a=box.exec(str);
            alert(a[0]);                //整个匹配到的字符串abc
            alert(a[1]);                //匹配第一个分组匹配字符串 abc最外面的大括号
            alert(a[2]);                //匹配第二个分组匹配字符串 bc 中间的括号
            alert(a[3]);                //匹配第三个分组匹配字符串 c最里面的括号
  • 相关阅读:
    SAP S/4HANA extensibility扩展原理介绍
    SAP CRM系统订单模型的设计与实现
    使用nodejs代码在SAP C4C里创建Individual customer
    SAP Cloud for Customer Account和individual customer的区别
    Let the Balloon Rise map一个数组
    How Many Tables 简单并查集
    Heap Operations 优先队列
    Arpa’s obvious problem and Mehrdad’s terrible solution 思维
    Passing the Message 单调栈两次
    The Suspects 并查集
  • 原文地址:https://www.cnblogs.com/xiaowie/p/9946446.html
Copyright © 2020-2023  润新知