一、正则表达式
1、正则表达式包括两部分:
① 定义正则表达式的规则; ② 正则表达式的模式(i/g/m);
 
2、声明正则表达式:
① 字面量声明:
     var reg=/表达式规则/表达式模式;
      eg: var reg= /white/g;
② 使用new关键字:
     var reg=new RegExp("表达式规则","表达式模式");
      eg: var reg=new RegExp("white","g");
 
3、正则表达式的常用模式:
 ① g:全局匹配。不加g默认为非全局匹配,只匹配第一个符合要求的字符串。
     "www".replace(/w/,"#"); -> #ww;
     "www".replace(/w/g,"#"); -> ###;
 
 ② i:忽略大小写。不加i,默认要求大小写不匹配;
     "aAa".replace(/A/,"#"); -> a#a;
     "aAa".replace(/A/i,"#"); -> #Aa;
     "aAa".replace(/A/gi,"#"); -> ###;
 
 ③ m:多行匹配模式。不带m,则一个字符串只有一个开头,一个结尾;
      带m后,如果字符串分为多行,则每行都有一个开头,一个结尾。
     `abc                                          `#bc
        abc`.replaced(/^a/g,"#") ->  abc`
 
       `abc                                            `#bc
         abc`.replaced(/^a/gm,"#") -> #bc`
 
    [Tips:如何写多行字符串]
     >>> 普通字符串中,插入\n 表示换行
     >>> ES6中,允许使用反引号`包裹字符串,反引号包裹的字符串中,
           会保留空格与回车。`abc
                                        abc`
 
4、正则表达式的常用方法:
① test():检测一个字符串,是否符合正则表达式的验证,返回true或false;
       eg: /white/.test("whiteWhitewhite"); -> true
 
② exec():检测一个字符串,是否符合正则表达式的验证。如果验证成功,返回结果数
                   组;如果验证失败,返回null;
            结果数组中:
            index属性:表示从字符串的第几个字符,开始符合正则要求;
            input属性:返回完整的被检索的字符串;
            下标第0个:表示符合整个正则表达式的那部分字符;
            下标第1个到第n个:表示符合正则的第1个到第n个子表达式的部分。
                                             子表达式,就是正则中的()。也就是,正则中有几个(), 结果
                                             数组中就有几个下标。
           /12(3)(4)5/.exec("aaa12345");
             [
               0:12345,
               1:3,
               2:4,
               index:3,
               input:"aaa12345",
               length:3,
             ]
posted on 2017-09-09 14:49  0&  阅读(1126)  评论(0编辑  收藏  举报