正则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”
解除分组捕获的办法:我们可以在分组的前面加?: