zoukankan      html  css  js  c++  java
  • 正则表达式

     正则

    • 数据类型:
    • 基本: string number boolean null undefined
    • 引用类型: array object regExp function
    • 创建正则
      字面量创建
          正则由匹配的字符和修饰符组成
          var reg = /123/ig;
          new RegExp方式创建
          var reg1 = new RegExp('123','ig')
          var s = 'abc';
          var reg3 = new RegExp(s, 'i');
          console.log(reg3);
      修饰符
            i: 忽略大小写
            g : 全局匹配
      常用的元字符
      - d  0-9数字
      - D  非数字
      - w   数字、字母(大小写)、下划线
      - W   除了数字、字母(大小写)、下划线以外的任意字符
      - s   匹配空格或空白字符
      - S   除了空白以外的字符
      - .    除了换行的任意字符
      - .   点本身
      -    边界  单词的两边和字符串的开头和结尾都是边界
      - ^   开始
      - $   结尾
      数量
      - * 0-多次 - ? 0-1次 - + 1-多次 - {n} n次 - {n,} 至少n次 - {n,m} n-m次
      或者
      - (a|b|c) a,b,c中的一个字符 - [abc] a,b,c中的一个字符 - (abc|xyz|opq) abc或者xyz或者opq中的一组 - [a-z] 匹配小写字母中的一个 - [^a-z] 除了小写字母中以外的任意字符
     
    • 正则相关方法
      regExp1.test(string) // true、false
      regExp2.exec(string); //用正则匹配字符串中对应的字符
          var str = 'welcome to ujiuye!'
          var reg = /e/g;
          console.log(reg.lastIndex); //0 下一次匹配的开始位置
          reg.lastIndex = 2; //设置匹配的开始位置
      
          var r = reg.exec(str);
          console.log(r); //6
          console.log(reg.lastIndex); //7
      
          r = reg.exec(str);
          console.log(r); //16
      
          r = reg.exec(str);
          console.log(r); //null 
     
    • 字符串方法(正则相关):
      string.match(reg) ; 匹配字符串中符合正则表达式的字符
          var str = 'welcome to ujiu-ye!'
          var reg = /e/g;
          var r = str.match(reg); //如果正则没有修饰符g ,和调用一次exec结果一样
          console.log(r);  //['e','e','e'] //如果有修饰符,就是把所有的匹配到的字符放在数组中返回
         
          string.split(/[- ,]/); 同时用多个分割符分割字符串
          string.replace(/123/g,''); 全局替换
          string.replace(/(123)/g,'$1') 使用分组替换
          string.search(reg); 返回第一次匹配的字符的索引

    参考资料:https://www.cnblogs.com/libinqq/archive/2008/07/31/1257699.html

  • 相关阅读:
    对象属性键值[key]属性问题
    理解 JavaScript 中的 for…of 循环
    vue初学篇----过滤器(filters)
    CSS变量
    SCSS !default默认变量
    vue 集成 NEditor 富文本
    如何在Github上面精准搜索开源项目?
    OSS介绍
    键盘各键对应的编码值(key code)
    网易云音乐歌单生成外链播放器
  • 原文地址:https://www.cnblogs.com/musong-out/p/11481794.html
Copyright © 2011-2022 走看看