javascript非捕获性分组和前瞻非捕获性分组:前面讲了创建反向引用的分组,这种分组一般称为捕获性分组。同时
javascript非捕获性分组和前瞻
非捕获性分组:
前面讲了创建反向引用的分组,这种分组一般称为捕获性分组。同时也存在一种非捕获性分组。它不会创建反向引用,因为在比较长的正则表达式中,分组多了会很影响效率。所以使用非捕获性分组。
创建非捕获性分组是这样的(?:开始然后写表达式。例如
?
var str = "#123231312";
var patt = /#(?:\d)/
console.log(patt.test(str));
console.log(RegExp["$1"]);
?
得到结果为:
?
var str = "bedroom";var str2 = "beded";var patt = /(bed(?!room))/console.log(patt.test(str));console.log(RegExp["$1"]);console.log(patt.test(str2));得到结果: falsebed true
参考《javascript高级程序设计》
?
?
?
?
