一、 正则的分组
- 小括号改变优先级, 例:
- var reg = /^z|food$/;// 以z开头或以food结尾的字符串都能匹配成功
- var reg1 = /^(z|food)$/;// 要么是字符串z,要么是字符串food;
- 括号的引用
- \1 \2: 代表和第一个分组或第二个分组出现一模一样的内容;
- var reg = /(\d)(m)\1\2/;
console.log(reg.test("1m2m"))// false
console.log(reg.test("1m1m"))// true
- 分组捕获
- var reg = /^-?(\d|[1-9]\d+)(.\d+)?$/;
console.log(reg.exec("12.889"))
["12.889", "12", ".889", index: 0, input: "12.889", groups: undefined]- 正则捕获: 第一项是整个大正则捕获的内容
第二项是正则中第一个括号捕获的内容
第三项是正则第二个小括号捕获的内容
- 正则捕获
- test
- exec
- 1.懒惰性 全局g
- 2.贪婪性 ?0或1次放在量词后面