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代表单词边界

    \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))

 

相关文章