正则的理解

  1. 正则的懒惰性

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

 

解决正则的懒惰性呢

修饰符g

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

 

  1. 正则的贪婪性

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

 

如何解决正则的贪婪性

在元字符量词后面加?

 

补充 循环语句  for   for  in  while   do---while---

 

二 分组捕获 正则带()  在数分组的个数时从左往右

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

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

分组捕获的作用

  1. 改变优先级
  2. 分组引用  \1,\2

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

 

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

3.分组捕获

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

 

怎样解除分组中分组捕获呢,如果你不想捕获某一个分组中的内容,在这个分组的前面加上?:就可以了

posted @ 2018-12-21 10:27  李梓0701  阅读(118)  评论(0编辑  收藏  举报