美文网首页
JS- 正则表达式

JS- 正则表达式

作者: 大大的小小小心愿 | 来源:发表于2017-10-27 20:11 被阅读0次

    一、正则表达式:对字符串进行模式匹配的强大工具。
    用来检查一个串是否含有某种子串,将匹配的子串替换或者从某个子串中取出某个符合条件的子串等。
    正则:规则
    正则属性:设置条件(如匹配一个还是多个)
    二、创建正则

    1、直接量、字面量
        var reg = / flower/;
    2、对象的方式
        var reg = new RegExp("flower","");
    

    三、找到正则表达式的匹配的值 match()

    console.log(str.match(reg2));
    

    match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
    三、元字符 (6) [正常情况下只代表一个字符]

     \d  (digtal)   数字
     \w  (world)    数字字符,包括:数字、字母、下滑线
     \s (spacing)   空白字符,包括:空格、换行(\n)、\t
     \n             换行符
      .             所有字符,不包括:换行符、结束符(JS无结符:\0)
    
     \b              单词边界
          \bbox\b:box这个单词
          \bbox  :以单词开头的box
          box\b  :以单词结尾的box
    
    [\u4e00-\u9fa5]  匹配汉字
    

    四、量词

    //  +        一个或多个
    //  *        零个或多个
    //  ?       零个或一个
    //  n{x}     x个n
    //  n{x,y}   x-y个n(n{2,4}:2个或3个或4个n)  注:x<y,且多的符合条件的话,先匹配。
    //  ^x       作为字符串开头的x  
    //  x$       在字符串结尾的x 
    

    关于量词!!!:

        var reg1 = /5+/g;
    
        var reg9 = /^\d/g; 
        // 以数字开头
    
        var reg4 = /\w*/g;  
        // 把所有的去掉后,剩下一个空的字符串。也算一个空
    
        var reg10 = /^/g;  
         // 整个字符开头,后面的是空字符。打印 “”
    
        var reg11 = /^\s/g;
        // 以空格开头
    
        var reg11 = /^sg$/g;  
        // 以sg开头,以sg结尾 (sg才能满足条件)
    
        var reg11 = /^s.g$/g;  
        // 以s开头g结尾  中间:.是元字符代表一个,所以s和g之间只能有一个字符
    
        var reg14 = /^s.*g$/g; 
        // 以s开头以g结尾的 中间:所有元字符的零个或多个
    
        var reg15 = /^s\w+n$/g; 
        // 以s开头以g结尾 \w+ 一个或多个单词
    

    五、中括号[ ]

        // [123]  匹配123中的任何一个  
        // [^123] 匹配123以外的任意字符
        // [12345] 可以写成 [1-5] 1到5中的任何一个  
    

    关于 [ ]!!!

    var reg1 = /[123][234]/g;
    //匹配 两个字符,第一个是[123],第二个是[123]
    
    var reg1 = /[123]{2}[234]/g;  
    //匹配[123][123][234]
    
    var reg1 = /[1-356-8]*/g;   
    // 1-3 5 6-8
    
    var reg1 = /[A-Za-z]*/g;   
    //所有大小写字母
    

    六、匹配 ()

      (3|5) 括号代表一个整体,占一位。 | 或者。3或者5
      匹配有特殊含义的字符要加 \  ,如: + . ? *
    

    关于匹配:

    var reg1 = /(3|2[13])/g;  
        // 3 或者 2[13](21 或者 23)
    var reg1 = /(3|2[13])+/g; 
        // 3 或者 2[13](21 或者 23) 或者 3  21 23 都有的(每个都可有多个匹配)
    

    注:
    1、g:代表匹配所有满足条件的。

      var reg = /flower/g
    

    2、字符串的 replace支持正则, /g可替换所有
    3、满足正则查找条件时,会尽可能匹配多的字符
    4、一般只加元量,只是一个值,加了量词后才是多个词

    相关文章

      网友评论

          本文标题:JS- 正则表达式

          本文链接:https://www.haomeiwen.com/subject/kjdrpxtx.html