正则1

正则的理解:

  1:正则的懒惰性:

      每一次exec在捕获的时候,只捕获第一次匹配的内容,不会继续向下捕获,我们把这个

      称为正则的懒惰性,每一次捕获的位置都是从0开始的。

案列1:

      

上图所示   结果为45612 而不是 45612 与12345    这就是正则的懒惰性

解决办法:修饰符g

正则的实列对象reg上有一个lastindex的属性,他是正则捕获的起始位置,

正则的贪婪性:

每一次匹配都会按照最长的出现结果,我们把这种功能叫做正则的贪婪性。

 

如上图所示:他的结果为12345    不是1/2/3/4/5   这就叫做正则的贪婪性

解决办法:在字符串的量词后边加?

分组捕获: 正则带() 在数分组的个数时从左到右;

var  reg=/(a)(b)/相当于大正则里边带了2个小正则

第一张是a  第二组是b

分组捕获的作用:

  1:改变优先级; 

  2:分组引用    \1   \2

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

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

  reg中的规则是第一个是第一个分组,且是一个单词字符,第二个是分组引用要求与第一个

分组一模一样,第三个是第二组的但粗字符,第四个是一个分组引用要求与第二组的第一个一模一样

  3:分组捕获:

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

到;

  

如上图所示 它不仅捕获到“ab”  还捕获到“a”“b”  

解除分组捕获的办法:我们可以在分组的前面加?:

  

 

 

 

 

  

 

 

 

  

 

 

    

posted @ 2018-12-21 11:21  杨晓蓉  阅读(274)  评论(0编辑  收藏  举报