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

Posted lovels

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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))

 

以上是关于Web--js高级--12月18日随笔的主要内容,如果未能解决你的问题,请参考以下文章

Web--js高级--12月21日随笔

Web--js--10月15日随笔

Web--js初级--10月16日随笔

《高级软件测试》实践作业3学习记录12月18日

《高级软件测试》实践作业4学习记录12月30日

2017年12月10日高级软件测试技术实践作业3