1.var reg=/./ 与 var reg=/./的区别?
.代表任意一个字符
.而后者代表这个字符串中得有一个.
2.?的使用
如果单独的一个字符后面带?
/d?/ 代表1个或0个这个字符的出现 (在捕获的阶段)
如果是量词+后面带? 代表取消贪婪性 (在捕获的阶段)
3.捕获 (在全局捕获中,exec()多次输出后,他的起始位置不断地向后匹配,如果匹配不到就是null)
1.普通捕获 exec() match()(对exec()的包装)
普通捕获有懒惰性,给正则添加一个修饰符g可以解决;
match()是将所有捕获的内容放在一个数组中并返回,match()就是对exec()对函数的简单封装
2.分组捕获:
分组捕获;还是用到了exec()和match()的方法,只不过正则的结构发生了变化,加()
分两种情况:(全局,非全局)
非全局:exec()和match()在非全局下分组捕获相同,分组捕获在捕获的过程中,既捕获大正则的内容,也捕获分组中的内容,并返回;
全局:exec()和match()在非全局下分组捕获不同,exec()不变,但是match只捕获到大正则里面的内容;
3.分组捕获的优势:
1.可以提升优先级;
2.可以捕获引用;
捕获引用: 1 2转义字符;
1代表分组1里面一模一样的内容;
2代表分组2里面一模一样的内容;
分组的结果存在正则RegExp的$number属性下,