分组的作用
1. 改变的默认的优先级
2.分组捕获
3.分组引用
正则的分组引用
let reg = /^18|19$/;
正则中出现的\1代表和第一分组出现一模一样的内容
let req = /^([a-z]) ([a-z])\2\1$/;
编写一个正则匹配的身份证号码 (简单的不严谨的):
let reg =/^\d{17}(\d|X)$/;//简单的:只能匹配是否符合格式,不能提取出身份证中的一些信息
let b = /^(\d{6})(\d{4})(\d{2})(\d{2})\d{2}(\d)(\d|X)$/;
exec 实现正则匹配 获取的结果是一个数组,不匹配结果是个null,分组捕获(大正则 和小正则内容都匹配到)
正则捕获使用的是正则中的exec方法:
如果可以匹配获取的结果是一个数组,如果不能匹配获取的结果是null
如果我们只在匹配的时候,想要要获取大正则中部分信息,我们可以把这部分用小括号包起来,形成一个分组,这样在捕获的时候,不仅可以把大正则匹配的信息捕获到,而且还单独的把小分组匹配的信息也捕获到(分组捕获)
有时候写小分组不是为了捕获信息,只是为了改变优先级或者进行分组引用,此时 我们可以在分组的前面加上?: 代表只去匹配 不捕获