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

    概念: 正则表达式是一个包含正常字符与元字符的用于匹配的字符串对象

    如何创建正则表达式

    1. 构造函数:new RegExp('map')
    2. 字面量/map/

      常用元字符

    3. 基本元字符 . () [] |
    4. 限定元字符
        • ? {n} {n,} {n,m}
    5. 首位元字符 ^ $
    6. 简写元字符 d D s S w w
    7. 其他 反向引用 数字 匹配但不捕获 (?:)

       . 除了换行以外的任意字符
       [] 出现在[]中的任意一个字符
       () 一方面提高优先级,另一面分组
       | 或 具有最低优先级
      
       * 紧跟在前面的字符出现0次或多次,默认尽可能多的匹配  {0,}
       + 紧跟在前面的字符出现1次或多次,默认尽可能多的匹配  {1,}
       ? 紧跟在前面的字符出现0次或1次                     {0,1}
      
       {n} 紧跟在前面的字符出现n次
       {n,} 紧跟在前面的字符至少出现n次
       {n,m} 紧跟在前面的字符出现n-m次
      
        ^  放在正则一开始, 表示匹配必须以 xxx 开头
          放在 [] 中表示 否定, [^abc]
      
        $ 放在正则的结尾处, 表示必须以 xxx 结尾
          在替换中使用 $数字 表示组引用
      
        d        数字            digit
        D        非数字
      
        s        空白(空格, 换行, ...)            space
        S        非空白        [Ss] 表示任意的一个字符
      
        w        文字: 数字, 字母, 下划线            word
        W        非文字
      
        数字      引用前面匹配到的组
                  <div>...</div>
                  <([^>]+)>[^<]+</1>
      
        (?:)
      

      常用方法:

    8. 正则.test(str) 表示这个字符串是否符合正则表达式

    9. 正则.exec(str) 表示利用正则将字符串中复合的子字符串截取胡来,存储到数组中,每次只取一个
            取出字符串中的数字到数组中
            var str='1abdf2lkui19erehgih354hshu6';
            var arr=[];
            var r=/d+/g;
            var m;
            while(m=r.exec(str)){
                console.log(m);
                arr.push(m[0]);
            }
           console.log(arr); //["1", "2", "19", "354", "6"]
    

    3.字符串.replace(正则,替换字符) 表示将字符串中符合正则的内容,替换成指定的字符

            替换字符串中的数字为*
            var str='1abdf2lkui19erehgih354hshu6';
            var res=str.replace(/d+/g,'*');
               console.log(res); //*abdf*lkui*erehgih*hshu*
  • 相关阅读:
    Myeclipse运行报错:an out of memory error has occurred的解决方法
    关于UnsupportedClassVersionError的错误处理
    Java设置session超时(失效)的三种方式
    mybatis自增长插入id
    揭开Java IO流中的flush()的神秘面纱
    mybatis多表查询
    在Myeclipse中提交代码到GitHub中
    一台电脑安装多个版本的jdk
    使用Git的Push出现rejected
    暴力解决HTMLTestRunner出现dict() ->new empty dictionary的问题
  • 原文地址:https://www.cnblogs.com/ghlucky/p/5763107.html
Copyright © 2011-2022 走看看