• Web--js高级--12月18日随笔


    一:

      正则:RegExp

      概念:用来检验字符串的规则

      如何使用:  Var  reg=/ /      var   reg=new  RegExp()最后的本质都是一个实例对象。

      方法:

         test()匹配的方法                   exec()捕获的方法

    二:修饰符:

         i (忽略大小写)    m()代表多行匹配       g()代表全局匹配

    三:正则的方括号:

        【abc】 代表查找方括号中的任何字符

        【^abc】代表查找任何一个不在方括号之间的字符

        【0-9】查找0到9之间的数字

        【a-z】查找任何小写a到小写z的字符

        【A-Z】查找任何大写A到大写Z的字符

        (red|blue|green)

      元字符:

        .代表单个字符

        w 代表单词字符(数字,字母,下划线)

        W代表非单词字符

        d代表数字

        D代表非数字

        s代表空白字符

        S代表非空白字符

        代表单词边界

        B代表非单词边界

      量词:

        1. n+代表至少1个n的字符

        2.n*代表0个或多个n

        3.n?包含0个或1个n

        4.N{X},包含x个n  

        5. N{x,} 包含至少x个nN{x,y}

           6.N{x,y}包含大于等于x个小于等于y个n

           7.N$  包含以n结尾的字符串^n包含以n开头的字符串

        8.^n包含以n开头的字符串

           9.?=n 指定字符串后面紧跟的n的字符串

    四:正则的理解 

        (1)  正则的懒惰性

            每一次在exec()中捕获的时候,只捕获一次匹配的内容,而不往下捕获了。我们把这叫正则的懒惰性,每一次捕获的开始位置都是从0开始

        var reg/d+/;

        var st="hu1314miao521"

        console.log(reg.exec(st))

         解决正则的懒惰性:

                 加修饰符g(全局匹配)

        (2).正则的贪婪性:每一次匹配都是按照最长的出结果,我们把这种功能叫正则的贪婪性。

           var  reg=/d+/;

           var st=“hello2345”

           console.log(reg.exec(st))

    (3)正则的实例对象reg上有一个lastindex的属性   他是正则捕获的起始位置

      var reg=/d+/;

      var st=“miao0110”

      console.log(reg.exec(st))

    在元字符量词后面加?

      var reg=/d+?/g;

      var st="hu01101201"

      console.log(st.match(reg))

    五:while语句:

      var i=12;                  var  n=12;

      var sum=null              var  sun=null

      while(i<10){            do{sun=sun+n   n++;}

        sum=sum+i            while(n<11);

       }                    console.log(sun)先执行,后判断

    console.log(sum)先判断后执行 

    六:分组捕获    正则带()在数组的个数是从左往右

    var reg=/(a)(b)/就相当于大正则里面带了两个小正则

    第一组是(a)第二组是(b)

    分组捕获的作用

        1.改变优先级

        2.分组引用   1,2

     2代表和第二个分组出现一模一样的内容,1代表和第一个分组出现一模一样的内容

        var  reg=/(w)1(w)2/

     var   st=“ssdd”

      var  s=reg.test(st)

      console.log(s)

             Reg  中的规则是第一个是一个分组,且是一个单词字符   第二个是个分组引用要求和第一组一模一样,第三个是第二个分组,且是一个单词字符,第四个是一个分组引用,要求和第二组一模一样。

    3.分组捕获

        分组的捕获前提是正则存在分组,不仅把大正则的内容捕获到,把小正则的内容也捕获到。

    var reg=/(a)(?:b)/

    var st=“acsd”

    console.log(reg.exec(st))

  • 相关阅读:
    fileupload直接获得
    ajax分页
    jquery.cookie.js
    DataTable分页
    C#字串与Unicode互相转换方法
    Linq测试
    滚动条加载数据
    创建.PDF文件【1】
    小问题【6】
    小问题【4】
  • 原文地址:https://www.cnblogs.com/lovels/p/10139866.html
Copyright © 2020-2023  润新知