1、非贪婪的重复:如"??" 、 "+?" 、 "*?" 、"{1,5}?"
例如: 非贪婪匹配 /a+?/去匹配aaa,尽可能的少匹配,只能匹配到第一个a,
/a+/去匹配aaa,匹配到了aaa
/a+b/去匹配aabb,匹配到aabb
而使用非贪婪匹配/a+?b/,它会匹配尽可能少的a和一个b,但是匹配到了aabb,因为会寻找正则表达式第一个匹配的位置
2、圆括号的作用
1、将单独的项组合成子表达式
2、完整的模式中定义子模式
3、引用:
/['"][^'"]*['"]/ 无法保证两边都同时是单引号或都是双引号
/(['"])[^'"]*1/ 保证两边都同时是单引号或都是双引号
/(['"])[^1]*1/ 非法,不允许双引号里面再有双引号