正则表达式

  • 创建正则表达式

    1. 构造函数方式:new RegExp()

      //.test()为测试字符串中是否有符合正则的字符串
      var reg1 = new RegExp(/abc/);
      reg1.test("abc");  //返回 ture
      
    2. 字面量方式:

      var reg1 = /abc/;
      reg1.test("abc");
      /abc/.test("abc"); //一样的效果
      
  • 元字符

    1. 字符类元字符

      字符 作用 说明
      . 匹配除了回车和换行的任意内容 与[^\r\n]作用相同
      \d 匹配数字 与[0-9]作用相同
      \D 匹配非数字 与[^0-9]作用相同
      \w 匹配字母、数字、_ 与[a-zA-Z0-9_]作用相同
      \W 匹配非字母、数字、_ 与[^a-zA-Z0-9_]作用相同
      \s 匹配不可见字符(换页、回车、换行、水平制表符、垂直制表符、空格) 与[\f\r\n\t\v]作用相同
      \S 匹配可见字符 与[^\f\r\n\t\v]作用相同
      a-z 匹配a到z的所有字符
      A-Z 匹配A到Z的所有字符
      0-9 匹配0到9的所有字符
    2. 逻辑类元字符

      字符 作用 说明
      \ 匹配转义字符 例如:[\.]匹配.
      [] 表示匹配一个符合[]内表达式的字符(自带或的功能) [abc] 匹配一个a或b或c
      ^ 非 表示匹配一个不符合表达式的字符 [^1] 匹配一个非1的字符
      | 优先级最低,匹配到直接返回不往后匹配,如果匹配到最后一个还没匹配到则返回false
      () 小括号 优先级最高,优先匹配小括号内的
    3. 边界类字符类

      字符 作用 说明
      ^ ^表示开头 []里面的^表示取反 ^1 匹配字符串以1开头
      $ $表示结尾 1$ 匹配字符串以1结尾
    4. 量词类元字符

      字符 作用 说明
      * 前面的字符出现的次数是0或0次以上 x>=0
      + 前面的字符出现的次数是1或1次以上 x>=1
      ? 前面的字符出现的次数是0或1次 x=0或x=1
      *? 非贪婪匹配 最小匹配字符串
      前面的字符出现的次数是n次
      前面的字符出现的次数是n次以上
      前面的字符出现的次数是n次到m次
    5. 修饰符

      修饰符用于 /正则表达式/ 后方 例如/\s/g

      字符 作用
      g 修饰符 g 修饰符可以使正则表达式匹配所有项
      i 修饰符 i 修饰符可以使正则表达式匹配忽略大小写
      m 修饰符 m 修饰符可以使正则表达式匹配每行
      s 修饰符 默认情况下的圆点 . 是 匹配除换行符 \n 之外的任何字符,加上 s 之后, . 中包含换行符 \n
  • 正则使用

    字符串replace方法可以使用正则

    //替换全部空格
    var str = "  dddsd  sdsaq  ddd";
    var str2 = str.replace(/\s/g,""); // 正则表达式后面加个g 表示全局操作 gi为忽略大小写
    console.log(str2); //dddsdsdsaqddd
    
posted @ 2021-03-11 20:57  镜像山海  阅读(85)  评论(0)    收藏  举报